注意一下哈~,这个是new多个布局,布局里面,包含多个控件,包含checkBox,TextView
如果想了解,单一控件,可以跳转到点击这里跳转
一开始,我是用eventSmallArrayList.remove(les);eventSmallArrayList.add(les);
先是遍历一下,逐个添加
然后删除的时候,再遍历一下,逐个删除
折腾了一个晚上,一直没能实现,后来试了一下removeAll,addAll…
真简单。。。折腾了一宿~,哭死
核心部分
List<EventSmall> les = JSON.parseArray(type_list, EventSmall.class);
//事件大类按钮的点击事件
cb_event_kind_name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
//添加所有
eventSmallArrayList.addAll(les);
//清空
anl_relatedtypelist_small.removeAllViews();
//显示
EventSmallList(eventSmallArrayList);
} else {
//删除指定
eventSmallArrayList.removeAll(les);
//清空
anl_relatedtypelist_small.removeAllViews();
//显示
EventSmallList(eventSmallArrayList);
}
}
});
两个方法我也粘贴一下吧,万一用的着呢
/*
* 遍历控件
* */
private EventSmall esl;
private void EventSmallList(List<EventSmall> les) {
for (EventSmall pp : les) {
esl = new EventSmall();
String type_id = pp.getEvent_type_id();
String type_name = pp.getEvent_type_name();
esl.setEvent_type_id(type_id);
esl.setEvent_type_name(type_name);
NewEventSmall(type_name, type_id);
}
}
/*
* 显示控件
* */
private void NewEventSmall(String type_name, String type_id) {
//设置大小
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT);
LinearLayout project = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.item_checkbox, null);
project.setLayoutParams(lp);
LinearLayout ll_checkbox = (LinearLayout) project.findViewById(R.id.ll_checkbox);
CheckBox cb_event_kind_name = (CheckBox) ll_checkbox.findViewById(R.id.cb_event_kind_name);
TextView tv_event_kind_id = (TextView) ll_checkbox.findViewById(R.id.tv_event_kind_id);
cb_event_kind_name.setText(type_name);
tv_event_kind_id.setText(type_id);
anl_relatedtypelist_small.addView(project);
//事件大类按钮的点击事件
cb_event_kind_name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
Log.e("CheckBox:::", tv_event_kind_id.getText().toString() + "选中");
} else {
Log.e("CheckBox:::", tv_event_kind_id.getText().toString() + "取消");
}
}
});
}