Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 硅谷商城6--購物車編輯實現,硅谷商城6--購物車

硅谷商城6--購物車編輯實現,硅谷商城6--購物車

編輯:關於android開發

硅谷商城6--購物車編輯實現,硅谷商城6--購物車


  

    完成狀態                                          編輯狀態

1_設置點擊事件和定義狀態

在GovaffairPager類中

public class GovaffairPager extends BasePager {
    ............

    /**
     * 編輯狀態
     */
    private static final int ACTION_EDIT = 0;
    /**
     * 完成狀態
     */
    private static final int ACTION_COMPLETE = 1;
   
    @Override
    public void initData() {
        ......

        //設置編輯的點擊事件
        btn_cart.setTag(ACTION_EDIT);
        btn_cart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int action = (int) btn_cart.getTag();
                if(action ==ACTION_EDIT){
                    //變成完成狀態
                    showDelete();
                }else if(action ==ACTION_COMPLETE){
                    //變成編輯狀態
                    hideDelete();
                }
            }
        });
    }

    /**
     * 隱藏刪除按鈕
     */
    private void hideDelete() {
        //1.文本設置-編輯
        btn_cart.setText("編輯");
        //2.狀態設置編輯
        btn_cart.setTag(ACTION_EDIT);
        //3.數據設置非全選
        adapter.checkAll_none(true);
        adapter.checkAll();
        //4.隱藏按鈕顯示,顯示結算按鈕
        btn_delete.setVisibility(View.GONE);
        btn_order.setVisibility(View.VISIBLE);
        //5.價格重新計算
        adapter.showTotalPrice();
    }

    /**
     * 顯示刪除按鈕
     */
    private void showDelete() {
        //1.文本設置-完成
        btn_cart.setText("完成");
        //2.狀態設置完成
        btn_cart.setTag(ACTION_COMPLETE);
        //3.數據設置非全選
        adapter.checkAll_none(false);
        adapter.checkAll();
        //4.刪除按鈕顯示,隱藏結算按鈕
        btn_delete.setVisibility(View.VISIBLE);
        btn_order.setVisibility(View.GONE);
        //5.價格重新計算
        adapter.showTotalPrice();
    }
}

2_在適配器中刪除選中的item

在GovaffairPager類中

//設置點擊刪除
btn_delete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //只是把選擇的刪除
        adapter.deleteCart();
    }
});

 

在適配器中的代碼

/**
 * 刪除選中的數據
 */
public void deleteData() {
//        if(datas != null && datas.size() >0){
//            for(int i=0;i<datas.size();i++){
//                ShoppingCart cart = datas.get(i);
//                if(cart.isCheck()){
//                    //1.刪除本地緩存的
//                    cartProvider.deleteData(cart);
//                    //2.刪除當前內存的
//                    datas.remove(cart);
//                    //3.刷新數據
//                    notifyItemRemoved(i);
//                    i--;
//                }
//            }
//        }

	if(datas != null && datas.size() >0){
		for(Iterator iterator = datas.iterator();iterator.hasNext();){
			ShoppingCart cart = (ShoppingCart) iterator.next();
			if(cart.isCheck()){
				//這行代碼放在前面
				int position = datas.indexOf(cart);
				//1.刪除本地緩存的
				cartProvider.deleteData(cart);
				//2.刪除當前內存的
				//datas.remove(cart);
				iterator.remove();
				//3.刷新數據
				notifyItemRemoved(position);
			}
		}
	}
}

  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved