只是单独的全选反选,没有联动
Fragment
// 商家的全选反选
mCheckeBox =(CheckBox)view.findViewById(R.id.checkbox_all);
mCheckeBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 定义布尔值,bean类里面添加
boolean isChecked = mCheckeBox.isChecked();
float allPrice=0;// 价格看准是什么类型
int allNum=0;// 初始值
// 遍历
for (int i = 0; i < datas.size(); i++) {
datas.get(i).setChecked(isChecked);
List<ShopBean.DataBean.ListBean> list=datas.get(i).getList();
for (int j = 0; j < list.size(); j++) {
list.get(j).setChecked(isChecked);
if (isChecked){// 全选
float price=list.get(j).getPrice();
int num=list.get(j).getNum();
//计算总价
allPrice=allPrice+price*num;
// 计算总数量
allNum=allNum+num;
}else {// 不是全选
allPrice=0;
allNum=0;
}
}
}
// 价格不是整形,须要加引号
mTvPrice.setText(allPrice+"");
mTvMoney.setText("去结算("+allNum+")");
// 设置数量
shopCarAdapter.setList(datas);
}
});
商家适配器
在onBindViewholder方法中
//设置商家是否选中
获取复选框控件,
shopCarViewHolder.mCheckBox.setChecked(list.get(i).isChecked());
商品适配器
// 商品是否选中
// 复选框和自定义布局
mCheckBox=(CheckBox)itemView.findViewById(R.id.checkbox);
mShopCarAddView=(ShopCarAddView)itemView.
findViewById(R.id.shop_car_view);
// 商品是否选中
shopCarItemViewHolder.mCheckBox.setChecked(listShop.get(i).isChecked());
// 传递数量
shopCarItemViewHolder.mShopCarAddView.setNum(listShop.get(i).getNum());
自定义布局
// 初始化
private void init(Context context) {
View view=View.inflate(context,R.layout.shop_car_add,null);
mEdit = (EditText)view.findViewById(R.id.ed_shop);
addView(view);
}
public void setNum(int num) {
mEdit.setText(num+"");
}