1.首先在适配器加入子控件的点击事件
//找到子控件多选框
CheckBox view = baseViewHolder.getView(R.id.item_checked);
//防止删除之后复用
view.setChecked(dataBean.isIs_xuanzhong());
//添加子控件的点击事件
addChildClickViewIds(R.id.item_checked);
2.接下来就是在主页面做子控件的点击事件了
myadapter.setOnItemChildClickListener(new OnItemChildClickListener() {
@Override
public void onItemChildClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
//判断当前子控件的id是否和适配器里面加入的子控件id一样
switch (view.getId()) {
case R.id.item_checked:
//如果一样就将实体类里面的数据值变为当前点击的子控件的值
CheckBox checkBox = (CheckBox) view;
myadapter.getData().get(position).setIs_xuanzhong(checkBox.isChecked());
break;
}
}
});
3.最后一步就是删除操作
shanchu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//遍历当前集合的内容
List<FoodBean.DataBean> data = myadapter.getData();
//遍历循环查找当前实体类里面的布尔值谁为true,如果为true就删除
for (int i = data.size()-1; i >= 0; i--) {
if (data.get(i).isIs_xuanzhong()){
data.remove(i);
}
}
//刷新适配器
myadapter.notifyDataSetChanged();
}
});
4.最后不要忘了刷新适配器