Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在自定义适配器中更新listview?_Java_Android_Listadapter - Fatal编程技术网

Java 如何在自定义适配器中更新listview?

Java 如何在自定义适配器中更新listview?,java,android,listadapter,Java,Android,Listadapter,我有一个扩展ArrayAdapter的自定义适配器,它包括列表中每个项目的复选框 在getview本身中,我有一个onCheckedChanged侦听器,如果选中,它将从数据库中删除一个项。但是listview不会更新,并且我不能调用notifyDataSetChanged(),因为我不在主类中。有什么想法吗?发布代码,以便读者了解您的问题 您不必在扩展ArrayAdapter的类中设置任何侦听器。在这个类中,我们只将数据膨胀到视图中 从Adapter类中删除onCheckedChanagedL

我有一个扩展ArrayAdapter的自定义适配器,它包括列表中每个项目的复选框


在getview本身中,我有一个onCheckedChanged侦听器,如果选中,它将从数据库中删除一个项。但是listview不会更新,并且我不能调用notifyDataSetChanged(),因为我不在主类中。有什么想法吗?

发布代码,以便读者了解您的问题

您不必在扩展ArrayAdapter的类中设置任何侦听器。在这个类中,我们只将数据膨胀到视图中

Adapter
类中删除
onCheckedChanagedListener
,并将其放置在使用此适配器的
ListActivity
片段中。

在ListView上调用
invalidate()
。这将使列表再次刷新和显示。也许这会解决你的问题


我不明白你为什么不能调用
notifyDataSetChanged()

。看看这个样子。谢谢你,我应该把CheckedChangedListener放在另一个类的什么地方?它是在.onClickListener中还是完全分离?也许这些tut可以帮助你!1-2-因为我的checkedchangedlistener在实际的自定义适配器类和getView中,而不是在使用自定义适配器的类中。您是否尝试在勾选任何复选框时在listview上调用
invalidate()
?我不能,listview在另一个类中。