本文实例为大家分享了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武林网的支持。
新闻热点
疑难解答