原文 :https://blog.csdn.net/Day_feeling/article/details/84348410
感谢分享,现在把我这边用的分享给大家:
一级,二级的实体都要有 isCheck状态
在一级check的点击事件中添加:
hodlerViewFather.ckRubbitemSta.setChecked(data_list.get(arg0).isGroupCheck()); hodlerViewFather.ckRubbitemSta.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { data_list.get(arg0).setGroupCheck(!data_list.get(arg0).isGroupCheck()); for (int a = 0; a < data_list.get(arg0).getList().size(); a++) { data_list.get(arg0).getList().get(a).setChildCheck(data_list.get(arg0).isGroupCheck()); } ((RubbishDetailActivity) context).setTvCacheSize(computeCacheSize()); notifyDataSetChanged();//记得刷新 } });
二级的点击事件中添加:
childrenView.ckRubitemStatue.setChecked(cacheInfoEntity.isChildCheck); childrenView.ckRubitemStatue.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //二级列表 data_list.get(gropPosition).getList().get(childPosition).setChildCheck(!data_list.get(gropPosition).getList().get(childPosition).isChildCheck()); //一级列表 选中状态 data_list.get(gropPosition).setGroupCheck(data_list.get(gropPosition).getList().get(childPosition).isChildCheck); //计算钱和数量并显示 ((activity) context).setTvCacheSize(computeCacheSize()); //刷新界面 notifyDataSetChanged(); } });