【发布时间】:2014-02-03 14:58:48
【问题描述】:
在我的应用程序中,我尝试创建一个包含多个复选框的列表。
为此,我尝试了一个ListView 和android.R.layout.simple_list_item_multiple_choice 在ListView 中进行多项选择。
我在 XML 中的 ListView 为,..
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="468dp"
android:choiceMode="multipleChoice"
android:divider="#b5b5b5"
android:dividerHeight="1dp" >
我使用CheckBox 来选择/取消选择ListView 中的所有CheckBox
<CheckBox
android:id="@+id/select_all"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_column="2"
android:textSize="18dp"
android:text="Select all" />
和java代码一样,..
selectall.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
int size = 0;
boolean isChecked = selectall.isChecked();
if (isChecked == true) {
size = getListView().getCount();
for (int i = 0; i <= size; i++)
l1.setItemChecked(i, true);
} else if(isChecked==false)
{
size = getListView().getCount();
for (int i = 0; i <= size; i++)
l1.setItemChecked(i, false);
}
}
});
在这里,我已将 l1 分配为我的 ListView。现在,我的 Select All 复选框可以很好地用于选择/取消选择 ListView 中的所有复选框。
但是,如果我在单击全选复选框后取消选择其中一项,则它不会取消选中..
如果我手动选中列表中的所有复选框,则 Select all CheckBox 需要自动选中..
我为 ListAdapter 使用了以下代码
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>
(this,Android.R.layout.simple_list_item_multiple_choice,list);
setListAdapter(adapter1);
l1=getListView();
我正在努力实现这个解决方案..
【问题讨论】:
-
监听列表内文本框的复选框更改事件
-
我们如何设置Listen for the checkboxes?
-
为列表中的复选框添加点击监听器。
-
保存复选框状态并为每次点击编写onclick监听器并检查保存状态
-
它不是自定义的 ListView...检查我的更新问题。我在 ListView 中使用了 Android.R.layout.simple_list_item_multiple_choice
标签: android android-listview android-checkbox multiple-choice