Recyclerview嵌套Recyclerview实现简单购物车

来源:互联网 发布:大数据教师培训方案 编辑:程序博客网 时间:2024/05/21 09:11
//里边的recyclerview的适配器    将CheckBox赋初始值
if(childbeanlist.get(position).isCheck()){    setCheck.onCheck();    setPrice.setprice();    holder.child_checkbox.setChecked(true);}else{    holder.child_checkbox.setChecked(false);}
//设置状态监听holder.child_checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
//判断是否选中,将集合里的标记改变        if(holder.child_checkbox.isChecked()){ 
            childbeanlist.get(position).setCheck(true);        }else{            childbeanlist.get(position).setCheck(false);        }
//接口回调,给上一层Adapter          setPrice.setprice();//总价        setCheck.onCheck();//是否选中上级的CheckBox    }});
//总价接口回调
private setPrice setPrice;public void setSetPrice(ChildAdapter.setPrice setPrice) {    this.setPrice = setPrice;}public interface setPrice{    void setprice();}//设置选中接口回调private setCheck setCheck;public void setSetCheck(ChildAdapter.setCheck setCheck) {    this.setCheck = setCheck;}public interface setCheck{    void onCheck();}
//外边Recyclerview 的适配器
//赋初始值
boolean b=true;for (ShopCarBean.ChildBean childBean : seller.get(position).getChildBeanList()) {    if(!childBean.isCheck()){        b=false;    }}holder.father_checkbox.setChecked(b);

//添加回调
childAdapter.setSetCheck(new ChildAdapter.setCheck() {    @Override    public void onCheck() {        boolean b=true;        for (ShopCarBean.ChildBean childBean : seller.get(position).getChildBeanList()) {            if(!childBean.isCheck()){               b=false;            }        }        onSumPrice.onSumprice();        SumCheck.suncheck();        holder.father_checkbox.setChecked(b);    }});childAdapter.setSetPrice(new ChildAdapter.setPrice() {    @Override    public void setprice() {        onSumPrice.onSumprice();    }});

holder.father_checkbox.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {        for (ShopCarBean.ChildBean childBean : seller.get(position).getChildBeanList()) {            if(holder.father_checkbox.isChecked()){                childBean.setCheck(true);            }else{                childBean.setCheck(false);            }        }        onSumPrice.onSumprice();        SumCheck.suncheck();        childAdapter.notifyDataSetChanged();    }});

private sumPrice onSumPrice;public void setSumPrice(MyAdapter.sumPrice sumPrice) {    this.onSumPrice = sumPrice;}public interface sumPrice{    void onSumprice();}private SumCheck SumCheck;public void setSumCheck(MyAdapter.SumCheck sumCheck) {    SumCheck = sumCheck;}public interface SumCheck{    void suncheck();}

//activity回调监听及点击事件
cb.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {        int price=0;        for (ShopCarBean shopCarBean : seller) {            for (ShopCarBean.ChildBean childBean : shopCarBean.getChildBeanList()) {                if(cb.isChecked()){                    price+=childBean.getPrice();                    childBean.setCheck(true);                }else{                    childBean.setCheck(false);                }            }        }        sumprice.setText(price+"");        myAdapter.notifyDataSetChanged();    }});myAdapter.setSumPrice(new MyAdapter.sumPrice() {    @Override    public void onSumprice() {        int price=0;        for (ShopCarBean shopCarBean : seller) {            for (ShopCarBean.ChildBean childBean : shopCarBean.getChildBeanList()) {                if(childBean.isCheck()){                    price+=childBean.getPrice();                }            }        }        sumprice.setText(price+"");    }});    myAdapter.setSumCheck(new MyAdapter.SumCheck() {        @Override        public void suncheck() {            boolean b=true;            for (ShopCarBean shopCarBean : seller) {                for (ShopCarBean.ChildBean childBean : shopCarBean.getChildBeanList()) {                    if(!childBean.isCheck()){                        b=false;                    }                }            }            cb.setChecked(b);        }    });


原创粉丝点击