Android ListView :: setItemChecked不起作用

时间:2013-06-07 17:20:15

标签: android listview

我试图显示简单的检查清单,我需要检查一些项目。

这是我的代码

ArrayAdapter<Task> taskAdapter = new ArrayAdapter<Task>(this, android.R.layout.simple_list_item_checked, tasksList); this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); this.getListView().setItemChecked(2, true); setListAdapter(taskAdapter);

<ListView
   android:id="@android:id/list"
   android:layout_width="match_parent"
   android:layout_height="wrap_content">

但它仍然不起作用。 Checkable界面的实现没有帮助。

这个ListView的诀窍是什么?

1 个答案:

答案 0 :(得分:14)

在将项目设置为可检查项之前,您需要设置适配器。

ArrayAdapter<Task> taskAdapter = new ArrayAdapter<Task>(this, android.R.layout.simple_list_item_checked, tasksList);
setListAdapter(taskAdapter);        
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
this.getListView().setItemChecked(2, true); 

适配器包含存储在列表视图中的数据,因此在设置适配器之前,列表视图中不存在第2项。