Android ListView::setItemChecked 不起作用

标签 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 接口(interface)的实现没有帮助。

这个ListView有什么技巧?

最佳答案

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

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); 

适配器包含存储在 ListView 中的数据,因此在设置适配器之前 ListView 中不存在项目 2。

关于Android ListView::setItemChecked 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16989662/

相关文章:

android - 在 recyclerview 中只显示一条评论 - Firebase

android - 使用 Android 阅读低对比度 (3D) 打印的二维码

java - ImageView只显示在listview的最后一行

java - Android:带有左侧状态行的 ListView

java - 如何使用AsyncTask更新全局变量

python-3.x - 如何将 PyQt5 pyqtSlot 连接到 QML ListView 信号 "activated"?

android - 如何从已经运行的服务中获取数据?

android - Crashlytics 在应用程序启动时因 Resources$NotFoundException 而崩溃

android - 实现点击列表项并长按android中的元素

java - onActivityResult 请求代码返回 0