• 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();
                }
            });
           
        }

    这是我项目中用到的购物车,基本的功能都有了的。

    有需要的小伙们,可以参考一下。

     

    代码下载Github:https://github.com/DickyQie/android-shoppingcart

  • 相关阅读:
    常用的Xcode插件和
    view的封装,xib和stroryBoard加载及使用
    Plist文件的和懒加载
    网络基础
    网络基础,
    我的博客
    100个容器引擎项目,点亮你的容器集群技能树
    通俗易懂量子计算的原理
    接口自动化测试设计
    蚂蚁金服冯柯:下一个十年,核心自研技术将迎来黄金发展期
  • 原文地址:https://www.cnblogs.com/zhangqie/p/8098456.html
Copyright © 2020-2023  润新知