2013-03-06 118 views
2

我有一個擴展ArrayAdapter的自定義適配器,它包含列表中每個項目的複選框。如何更新自定義適配器內的列表視圖?

內getview本身我有onCheckedChanged聽衆,如果檢查從數據庫中刪除一個項目。但是,listview不會更新,我不能調用notifyDataSetChanged(),因爲我不在主類中。任何想法如何?

+0

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

回答

1

發佈代碼,以便讀者能夠理解您的問題。

您不必在擴展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

1

在您的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

相關問題