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;
}
}