购物车(商家全选)

商品适配器

 // 商家的全选
        shopCarViewHolder.mCheckBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 判断商家是都选中
                boolean isChecked = shopCarViewHolder.mCheckBox.isChecked();
                // 赋值
                list.get(i).setChecked(isChecked);
                // 获取商家下的商品
                List<ShopBean.DataBean.ListBean> listShop=list.get(i).getList();
                // 判断商家是否选中
                for (int i = 0; i < listShop.size(); i++) {
                    // 设置商品是否选中
                    listShop.get(i).setChecked(isChecked);
                }
                // 刷新适配器
              notifyItemChanged(i);
            }
        });

////////////////////////////////////////////////////////////////////////////////////////////////////
点击商家下商品取消商家全选
商品适配器

  // 点击取消商品,商家取消全选
        shopCarItemViewHolder.mCheckBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 同商品适配器一样
                boolean isChecked= shopCarItemViewHolder.mCheckBox.isChecked();
                listShop.get(i).setChecked(isChecked);
                // 接口回调把改变的值传给商品适配器
                if (listener!=null){
                    listener.changeData(listShop);
                }
            }
        });
      // 传递接口
    private OnCallBackListener listener;
    public void setOnCallBackListener(OnCallBackListener listener){
        this.listener=listener;
    }
    // 接口回调
    public interface OnCallBackListener{
        void changeData(List<ShopBean.DataBean.ListBean> listShop);
    }

商家适配器

    // 接收商品的变化
        shopCarItemAdapter.setOnCallBackListener(new ShopCarItemAdapter.OnCallBackListener() {
            @Override
            public void changeData(List<ShopBean.DataBean.ListBean> listShop) {
                int checkedNum=0;
                for (int i = 0; i < listShop.size(); i++) {
                    boolean checked = listShop.get(i).isChecked();
                    if (checked){
                        checkedNum++;
                    }
                }
                // 商家下的商品
                if (checkedNum==listShop.size()){// 全选
                    shopCarViewHolder.mCheckBox.setChecked(true);
                }else {// 不是全选
                    shopCarViewHolder.mCheckBox.setChecked(false);
                }
            }
        });

猜你喜欢

转载自blog.csdn.net/Ye_DaXian/article/details/89056665