Java 如何在自定义适配器中更新listview?
我有一个扩展ArrayAdapter的自定义适配器,它包括列表中每个项目的复选框Java 如何在自定义适配器中更新listview?,java,android,listadapter,Java,Android,Listadapter,我有一个扩展ArrayAdapter的自定义适配器,它包括列表中每个项目的复选框 在getview本身中,我有一个onCheckedChanged侦听器,如果选中,它将从数据库中删除一个项。但是listview不会更新,并且我不能调用notifyDataSetChanged(),因为我不在主类中。有什么想法吗?发布代码,以便读者了解您的问题 您不必在扩展ArrayAdapter的类中设置任何侦听器。在这个类中,我们只将数据膨胀到视图中 从Adapter类中删除onCheckedChanagedL
在getview本身中,我有一个onCheckedChanged侦听器,如果选中,它将从数据库中删除一个项。但是listview不会更新,并且我不能调用notifyDataSetChanged(),因为我不在主类中。有什么想法吗?发布代码,以便读者了解您的问题 您不必在扩展ArrayAdapter的类中设置任何侦听器。在这个类中,我们只将数据膨胀到视图中 从
Adapter
类中删除onCheckedChanagedListener
,并将其放置在使用此适配器的ListActivity
或片段中。在ListView上调用invalidate()
。这将使列表再次刷新和显示。也许这会解决你的问题
我不明白你为什么不能调用notifyDataSetChanged()
?。看看这个样子。谢谢你,我应该把CheckedChangedListener放在另一个类的什么地方?它是在.onClickListener中还是完全分离?也许这些tut可以帮助你!1-2-因为我的checkedchangedlistener在实际的自定义适配器类和getView中,而不是在使用自定义适配器的类中。您是否尝试在勾选任何复选框时在listview上调用invalidate()
?我不能,listview在另一个类中。