如何更新自定义适配器内的列表视图?

问题描述:

我有一个扩展ArrayAdapter的自定义适配器,它包含列表中每个项目的复选框。如何更新自定义适配器内的列表视图?

内getview本身我有onCheckedChanged听众,如果检查从数据库中删除一个项目。但是,listview不会更新,我不能调用notifyDataSetChanged(),因为我不在主类中。任何想法如何?

+0

http://www.youtube.com/watch?v=wDBM6wVEO70。看看这个样子。 – Raghunandan 2013-03-06 18:00:26

发布代码,以便读者能够理解您的问题。

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

卸下onCheckedChanagedListenerAdapter类,并将其放置在ListActivityFragment正在使用此适配器。

+0

更新,对不起! – user1876202 2013-03-06 18:01:30

+0

谢谢你,我会在哪里将CheckedChangedListener放在其他类中?它会在.onClickListener中还是完全独立? – user1876202 2013-03-06 18:44:15

+0

可能是这些屁股可以帮助你! 1- [链接](http://www.vogella.com/articles/AndroidListView/article.html#listviewselection) 2- [链接](http://androidcocktail.blogspot.com/2012/04/adding -checkboxes-to-custom-listview-in.html) – 2013-03-06 18:55:24

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

而且我不明白你为什么不能打电话notifyDataSetChanged()

+0

因为我在实际的自定义适配器类和getView中使用checkedchangedlistener,而不是在使用自定义适配器的类中。 – user1876202 2013-03-06 18:48:17

+0

您是否尝试在任何复选框被勾选时尝试在列表视图上调用'invalidate()'? – Swayam 2013-03-06 18:53:39

+0

我不能,listview在另一个类中。 – user1876202 2013-03-06 19:18:43