购物车加减器全选反选联动

2级适配器
viewHolder1.gwccb.setChecked(list.get(i).getQxfx());
qxfx = list.get(i).getQxfx();
viewHolder1.gwccb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean checked = viewHolder1.gwccb.isChecked();
qxfx=checked;
list.get(i).setQxfx(qxfx);
myok2.myok2();
}
});
//加减器
viewHolder1.view.setSum(list.get(i).getCount());
viewHolder1.view.setOuCount(new Jview.ouCount() {
@Override
public void Count(int sum) {
list.get(i).setCount(sum);
myok2.myok2();
}
});
viewHolder1.gwccb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
myok2.myok2();
}
});
}
public interface myok2{
void myok2();
}
private myok2 myok2;

public void setMyok2(GwcrecyAdpter.myok2 myok2) {
    this.myok2 = myok2;
}
1级适配器
 viewHolder1.qx.setChecked(list.get(i).getQxfx());
    gwcrecyAdpter.setMyok2(new GwcrecyAdpter.myok2() {
        @Override
        public void myok2() {
            boolean flag=true;
            for (int j = 0; j < list.get(i).shoppingCartList.size(); j++) {
                boolean qxfx = list.get(i).shoppingCartList.get(j).getQxfx();
                flag=flag&qxfx;
            }
            list.get(i).setQxfx(flag);
            notifyDataSetChanged();
            gwcrecyAdpter.notifyDataSetChanged();
            myok.myok();
        }
    });
    viewHolder1.qx.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            boolean checked = viewHolder1.qx.isChecked();
            for (int j = 0; j < list.get(i).shoppingCartList.size(); j++) {
                list.get(i).shoppingCartList.get(j).setQxfx(checked);
            }
            list.get(i).setQxfx(checked);
            notifyDataSetChanged();
            gwcrecyAdpter.notifyDataSetChanged();
            myok.myok();
        }
    });
    viewHolder1.qx.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            myok.myok();
        }
    });
}
 public interface myok{
    void myok();
}
private myok myok;
public void setMyok(GwcAdpter.myok myok) {
    this.myok = myok;
}

主页面
gwcAdpter.setMyok(new GwcAdpter.myok() {
@Override
public void myok() {
boolean flag=true;
int aaa=0;
for (int i = 0; i < result.size(); i++) {
boolean qxfx = result.get(i).getQxfx();
for (int j = 0; j < result.get(i).shoppingCartList.size(); j++) {
boolean qxfx1 = result.get(i).shoppingCartList.get(j).getQxfx();
flag=qxfx&flag&qxfx1;
int count = result.get(i).shoppingCartList.get(j).count;
int price = result.get(i).shoppingCartList.get(j).price;
if(qxfx1){
aaa += count*price;
}
}
}
qbgx.setChecked(flag);
hj.setText(aaa+"");
}
});

}
@OnClick(R.id.qbgx)
public void onViewClicked() {
boolean checked = qbgx.isChecked();
for (int i = 0; i < result.size(); i++) {
result.get(i).setQxfx(checked);
for (int j = 0; j < result.get(i).shoppingCartList.size(); j++) {
result.get(i).shoppingCartList.get(j).setQxfx(checked);
}
}
gwcAdpter.notifyDataSetChanged();
}
}
加减器联动的view继承LinearLayout

@BindView(R.id.jian)
TextView jian;
@BindView(R.id.number)
TextView number;
@BindView(R.id.jia)
TextView jia;
int sum=0;
public Jview(Context context) {
    super(context);
    init(context);
}

public Jview(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);

}

public Jview(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
   init(context);
}

private void init(Context context){
    View inflate = LayoutInflater.from(context).inflate(R.layout.jjq, this);
    ButterKnife.bind(this,inflate);
}
public void setSum(int sum) {
    this.sum = sum;
    number.setText(sum+"");
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public Jview(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    super(context, attrs, defStyleAttr, defStyleRes);
}

@OnClick({R.id.jian, R.id.number, R.id.jia})
public void onViewClicked(View view) {
    switch (view.getId()) {
        case R.id.jian:
            if(sum<2){
                Toast.makeText(getContext(), "不能再少了", Toast.LENGTH_SHORT).show();
            }else{
                sum--;
                if(ouCount!=null){
                    ouCount.Count(sum);
                }
            }
            break;
        case R.id.number:
            break;
        case R.id.jia:
            sum++;
            if(ouCount!=null){
                ouCount.Count(sum);
            }
            break;
    }
}

public interface ouCount{
void Count(int sum);
}
public ouCount ouCount;

public void setOuCount(Jview.ouCount ouCount) {
    this.ouCount = ouCount;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值