7

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

这是我的代码

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 的诀窍是什么?

4

1 回答 1

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 项。

于 2013-06-07T17:45:31.243 回答