check_box1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { boolean checked = check_box1.isChecked(); if (checked == true) { b = 1; }else{ b = 0; } //循环父 for (int i = 0; i < data.size(); i++) { //获得子列表 List<AddCardBean.DataBean.ListBean> list = BuyCardActivity.this.data.get(i).getList(); for (int j = 0; j < list.size(); j++) { AddCardBean.DataBean.ListBean listBean = list.get(j); listBean.setSelected(b); adapter.Jisuan(); adapter.notifyDataSetChanged(); } } } });
设置适配器
public void RequestData(final AddCardBean addCardBean) { runOnUiThread(new Runnable() { @Override public void run() { data = addCardBean.getData(); //设置适配器 adapter = new MyBaseExlistView(BuyCardActivity.this, data); ex_listview.setAdapter(adapter); int count = ex_listview.getCount(); for (int i = 0; i < count; i++) { ex_listview.expandGroup(i); } adapter.setSumPriceCallBack(new MyBaseExlistView.SumPriceCallBack() { @Override public void CounSum(double sum) { xiadan.setText("小计:¥"+sum); } }); } });
计算总价
//计算总价的方法 public void Jisuan() { double sum = 0; for (int i = 0; i < dataBeans.size(); i++) { //获得子列表 List<AddCardBean.DataBean.ListBean> list = dataBeans.get(i).getList(); for (int j = 0; j < list.size(); j++) { AddCardBean.DataBean.ListBean listBean = list.get(j); if (list.get(j).getSelected() == 1) { sum += list.get(j).getNum() * list.get(j).getPrice(); } } } sumPriceCallBack.CounSum(sum); }