我正在使用calander应用程序。显示所有可用日历的列表视图。 如何添加一个复选框,并且还选择之前选择的日历应该显示已检查。如何将复选框添加到列表视图中的每个项目
我想要一个这样的列表视图。
TextView的CB
我正在使用calander应用程序。显示所有可用日历的列表视图。 如何添加一个复选框,并且还选择之前选择的日历应该显示已检查。如何将复选框添加到列表视图中的每个项目
我想要一个这样的列表视图。
TextView的CB
设置列表视图适配器“simple_list_item_multiple_choice”
ArrayAdapter<String> adapter;
List<String> values; // put values in this
//Put in listview
adapter = new ArrayAdapter<UserProfile>(
this,
android.R.layout.simple_list_item_multiple_choice,
values);
setListAdapter(adapter); //Set the adpter to list View
第二种方法是创建一个自定义适配器通过扩展底座适配器类:
看的例子链接:
http://www.mysamplecode.com/2012/07/android-listview-checkbox-example.html
simple_list_item_multiple_choice 这件事情很好。但我怎样才能使用选中的未选中状态? – Hafiz 2013-03-02 08:02:56
@Hafiz请接受答案,如果你发现它有用 – 2013-03-02 08:04:04
请看看下面的链接它会清除你所有的疑惑: http://appfulcrum.com/2010/09/12/listview-example-3-简单选择复选框/ http://wptrafficanalyzer.in/blog/listview-with-checkboxes-in-android/ – 2013-03-02 08:08:13
可以使用checkedTextView为你的ListView行(使用自定义适配器)和指定的Android:choiceMode =“选择题”你的列表视图
这里是我的代码示例:
<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" />
这里,如您在CheckedTextView挖掘将增加检查绘制
现在,在列表<商店选择项目>您可以添加和删除点击
@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));
}
没错。 但我可以访问选中未选中状态????? – Hafiz 2013-03-02 08:39:05
是的,您可以使用isChecked()方法访问选中状态。我在这里编辑我的代码 – 2013-03-02 08:54:15
我已更新代码在这里 – 2013-03-02 08:59:33
你试过了什么?在问这个问题之前,至少做一些研究。 – Rahil2952 2013-03-02 07:55:24
看看..你会得到你所有的答案。 http://stackoverflow.com/questions/1505751/android-binding-data-from-a-database-to-a-checkbox-in-a-listview – 2013-03-02 08:02:46