本文實例為大家分享了Android實現購物車的具體代碼,供大家參考,具體內容如下
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
//設置點擊刪除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); } } }}
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答