Java 如何向listview中的每个项目添加复选框
我正在开发一个calander应用程序。显示所有可用日历的列表视图。 如何向其添加复选框,以及 之前选择的日历应显示“已选中” 我想要这样的列表视图Java 如何向listview中的每个项目添加复选框,java,android,checkbox,Java,Android,Checkbox,我正在开发一个calander应用程序。显示所有可用日历的列表视图。 如何向其添加复选框,以及 之前选择的日历应显示“已选中” 我想要这样的列表视图 textview cb将listview适配器设置为“简单列表项多项选择” 阵列适配器; 列出值;//把这些值放在这里 //放入列表视图 适配器=新阵列适配器( 这 android.R.layout.simple\u list\u item\u多选, 价值观); setListAdapter(适配器)//将adpter设置为列表视图 第二种方法是
textview cb将listview适配器设置为“简单列表项多项选择”
阵列适配器;
列出值;//把这些值放在这里
//放入列表视图
适配器=新阵列适配器(
这
android.R.layout.simple\u list\u item\u多选,
价值观);
setListAdapter(适配器)//将adpter设置为列表视图
第二种方法是通过扩展基本适配器类来创建自定义适配器:
请看链接中的示例:
您可以对ListView行使用checkedTextView(使用自定义适配器),并在列表视图中指定android:choiceMode=“multipleechoice” 以下是我的代码示例:
<CheckedTextView
android:id="@+id/member_name"
android:layout_width="match_parent"
android:layout_height="48dp"
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:textColor="@color/dark_grey_txt" />
你试过什么?在这里提问之前,至少做些调查。看一看。。你会得到你所有的答案。简单的列表项目多项选择这件事很好。但是如何处理选中的未选中状态???请查看以下链接,这将消除您的所有疑问:是的,您可以使用isChecked()方法访问选中的状态。我在这里编辑我的代码
<CheckedTextView
android:id="@+id/member_name"
android:layout_width="match_parent"
android:layout_height="48dp"
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:textColor="@color/dark_grey_txt" />
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView ctv = (CheckedTextView) view.findViewById(R.id.member_name);
if (ctv != null) {
if (ctv.isChecked()) {
ctv.setChecked(false);
listAdapter.removeSelectedMembers(position);
} else {
ctv.setChecked(true);
listAdapter.setSelectedMembers(position);
}
}
}
public void setSelectedMembers(int position) {
if (!selectedMembersList.contains(String.valueOf(position))) {
selectedMembersList.add(String.valueOf(position));
}
}
public void removeSelectedMembers(int position) {
selectedMembersList.remove(String.valueOf(position));
}