我通过ArrayAdapter使用带有Checkbox的ListActivity。
我要做的是在选中checkBox时,使用不同的布局(仅限TextView)添加ListView项动态。
它也应该在再次未经检查后消失。
CheckBox unchecked:
+----------------------+
| cb -- some text -- |
+----------------------+
| - new Heading - |
+----------------------+
| etc. |
+----------------------+
CheckBox checked:
+----------------------+
| cb -- some text -- |
+----------------------+
| --- TextView --- |
+----------------------+
| --- TextView --- |
+----------------------+
| - new Heading - |
+----------------------+
| etc. |
+----------------------+
实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
您可以按照以下方式执行此操作:
final CheckBox checkbox = (CheckBox) findViewById(R.id.checkbox);
checkbox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks, depending on whether it's now checked
if (((CheckBox) v).isChecked()) {
ListView lv=v.getParent();
TextView tv1=new TextView(this);
lv.addView(tv1,1);
TextView tv2=new TextView(this);
lv.addView(tv2,2);
} else {
ListView lv=v.getParent();
TextView tv1=lv.getChildAt(1);
TextView tv2=lv.getChildAt(2);
if(tv1!=null && tv2!=null) lv.removeViews(1, 2);
}
}
});
另一种简单方法是从开头定义TextViews,然后让复选框设置其可见性。