厌伴老儒烹瓠叶,强随举子踏槐花。这篇文章主要讲述Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等)相关的知识,希望能为你提供帮助。
电商项目中常常有购物车这个功能,做个很多项目了,都有不同的界面,选了一个来讲一下。
主要包含了 店铺分类,侧滑删除,商品筛选,增加和减少,价格计算等功能。
看看效果图:
文章图片
文章图片
文章图片
重要代码:
private void showExpandData(){ cartExpandAdapter=new CartExpandAdapter(this,cartExpandablelistview,cartInfo.getData()); cartExpandablelistview.setAdapter(cartExpandAdapter); int intgroupCount = cartExpandablelistview.getCount(); for (int i=0; i< intgroupCount; i++) { cartExpandablelistview.expandGroup(i); } /** * 全选 */ cartExpandAdapter.setOnItemClickListener(new OnViewItemClickListener() { @Override public void onItemClick(boolean isFlang, View view, int position) { cartInfo.getData().get(position).setIscheck(isFlang); int length=cartInfo.getData().get(position).getItems().size(); for (int i = 0; i < length; i++) { cartInfo.getData().get(position).getItems().get(i).setIscheck(isFlang); } cartExpandAdapter.notifyDataSetChanged(); showCommodityCalculation(); } }); /** * 单选 */ cartExpandAdapter.setOnClickListenterModel(new OnClickListenterModel() { @Override public void onItemClick(boolean isFlang, View view,int onePosition, int position) { cartInfo.getData().get(onePosition).getItems().get(position).setIscheck(isFlang); int length=cartInfo.getData().get(onePosition).getItems().size(); for (int i = 0; i < length ; i++) { if (! cartInfo.getData().get(onePosition).getItems().get(i).ischeck()){ if (!isFlang){ cartInfo.getData().get(onePosition).setIscheck(isFlang); } cartExpandAdapter.notifyDataSetChanged(); showCommodityCalculation(); return; }else { if (i== ( length-1)){ cartInfo.getData().get(onePosition).setIscheck(isFlang); cartExpandAdapter.notifyDataSetChanged(); } } } showCommodityCalculation(); } }); cartExpandAdapter.setOnClickDeleteListenter(new OnClickDeleteListenter() { @Override public void onItemClick(View view, int onePosition, int position) { Toast.makeText(MainActivity.this,"删除操作",Toast.LENGTH_LONG).show(); } }); /*** * 数量增加和减少 */ cartExpandAdapter.setOnClickAddCloseListenter(new OnClickAddCloseListenter() { @Override public void onItemClick(View view, int index, int onePosition, int position,int num) { if (index==1){ if (num> 1) { cartInfo.getData().get(onePosition).getItems().get(position).setNum((num - 1)); cartExpandAdapter.notifyDataSetChanged(); } }else { cartInfo.getData().get(onePosition).getItems().get(position).setNum((num + 1)); cartExpandAdapter.notifyDataSetChanged(); } showCommodityCalculation(); } }); }
这是我项目中用到的购物车,基本的功能都有了的。
有需要的小伙们,可以参考一下。
【Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等)】
代码下载Github:https://github.com/DickyQie/android-shoppingcart
推荐阅读
- AtcoerE - Papple Sort
- Android查缺补漏--Service和IntentService
- Android查缺补漏--Activity生命周期和启动模式
- Android查缺补漏--ContentProvider的使用
- AtCoder Regular Contest 088 E - Papple Sort(树状数组+结论)
- Android开发学习-四大组件
- android studio安装和配置kotlin
- There is no Action mapped for namespace [/] and action name [Login] associated
- Android------视频播放器(包含全屏播放,快退,快进,腾讯新闻的列表播放等)