逻辑逻辑逻辑逻辑逻辑
@Override public void getData(final List<DataBean> dataBeans) { this.dataBeans = dataBeans; shopRecyc.setLayoutManager(new LinearLayoutManager(this)); myBussionAdapter = new MyBussionAdapter(this,dataBeans); shopRecyc.setAdapter(myBussionAdapter); myBussionAdapter.setOnClickListe(new MyBussionAdapter.BussionCallBack() { @Override public void getData() { boolean result = true; for (int i = 0 ;i < dataBeans.size(); i++){ boolean flag = dataBeans.get(i).isFlag(); result = result & flag; for (int j = 0 ; j< dataBeans.get(i).getShoppingCartList().size();j++){ boolean flag1 = dataBeans.get(i).getShoppingCartList().get(j).isFlag(); result = result & flag1; } } shopCheckAll.setChecked(result); total(); myBussionAdapter.notifyDataSetChanged(); } }); shopCheckAll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for (int i = 0 ; i < dataBeans.size() ; i++){ dataBeans.get(i).setFlag(shopCheckAll.isChecked()); for (int j = 0 ;j<dataBeans.get(i).getShoppingCartList().size();j++){ dataBeans.get(i).getShoppingCartList().get(j).setFlag(shopCheckAll.isChecked()); } } total(); myBussionAdapter.notifyDataSetChanged(); } }); } public void total(){ double totalCount = 0 ; for (int i = 0 ; i <dataBeans.size(); i++ ){ for (int j = 0 ; j < dataBeans.get(i).getShoppingCartList().size();j++){ if (dataBeans.get(i).getShoppingCartList().get(j).isFlag()){ int count = dataBeans.get(i).getShoppingCartList().get(j).getCount(); double price = dataBeans.get(i).getShoppingCartList().get(j).getPrice(); totalCount = count *price; } } shopPrice.setText(totalCount+""); myBussionAdapter.notifyDataSetChanged(); } } }
父级逻辑父级逻辑父级逻辑
@Override public void onBindViewHolder(@NonNull final VKK vkk, final int i) { final List<ShoppingCartLists> shoppingCartList = dataBeans.get(i).getShoppingCartList(); vkk.name.setText(dataBeans.get(i).getCategoryName()); myChildenAdapter = new MyChildenAdapter(context, shoppingCartList); vkk.itemrecyc.setLayoutManager(new LinearLayoutManager(context)); vkk.itemrecyc.setAdapter(myChildenAdapter); vkk.checkbutn.setOnCheckedChangeListener(null); vkk.checkbutn.setChecked(dataBeans.get(i).isFlag()); vkk.checkbutn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for (int i = 0 ; i<shoppingCartList.size();i++){ shoppingCartList.get(i).setFlag(vkk.checkbutn.isChecked()); } dataBeans.get(i).setFlag(vkk.checkbutn.isChecked()); myChildenAdapter.notifyDataSetChanged(); bussionCallBack.getData(); } }); myChildenAdapter.setOnClickListen(new MyChildenAdapter.GoodsCallBack() { @Override public void getData() { boolean result = true; for (int x = 0; x < shoppingCartList.size();x++){ boolean flag = shoppingCartList.get(x).isFlag(); result = result& flag; } dataBeans.get(i).setFlag(result); myChildenAdapter.notifyDataSetChanged(); bussionCallBack.getData(); } }); }
子级逻辑子级逻辑子级逻辑
@Override public void onBindViewHolder(@NonNull final GNN gnn, final int i) { Glide.with(context).load(shoppingCartList.get(i).getPic()).into(gnn.im); gnn.name.setText(shoppingCartList.get(i).getCommodityName()); gnn.pric.setText(shoppingCartList.get(i).getPrice()+""); gnn.num.setText(shoppingCartList.get(i).getCount()+""); gnn.ch.setOnClickListener(null); gnn.ch.setChecked(shoppingCartList.get(i).isFlag()); gnn.ch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { shoppingCartList.get(i).setFlag(isChecked); goodsCallBack.getData(); } }); gnn.add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String s = gnn.num.getText().toString(); int i1 = Integer.parseInt(s); i1 = i1 + 1; shoppingCartList.get(i).setCount(i1); goodsCallBack.getData(); } }); gnn.jian.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String s = gnn.num.getText().toString(); int i1 = Integer.parseInt(s); i1 = i1 -1; if (i <=0){ Toast.makeText(context, "不能减了", Toast.LENGTH_SHORT).show(); } shoppingCartList.get(i).setCount(i1); goodsCallBack.getData(); } }); }