2012-01-06 53 views
0

我必須在我的expandablelistview中刪除子項。 我的嘗試是: 1.來自適配器的數據已成功移除。 2.試圖用'm_list.invalidateViews()'重建列表視圖' 結果是:exceptuion:索引超出範圍。修改適配器後重新加載ExpandableListView項目

看debuger - childPosition的值大於適配器數據的數量。 Usualy getChildView被調用適配器中的每個項目。那爲什麼用childPosition調用大於數據大小的getChildView呢?

+0

notifyDataSetChanged()不起作用? – 2012-01-06 13:33:31

+1

它的工作原理。奇怪的事實是:適配器有3個項目,但getChildView被稱爲4 .....可能視圖是用緩存數據構建的,而不是適配器中的真實視圖。 – Kostadin 2012-01-06 13:40:26

回答

2

更改從中加載列表的數據集,並調用adapter.notifyDataSetChanged();

+0

嘗試notifyDataSetChanged - 它確定。可能是InvalidateViews重建視圖,但適用於從適配器緩存的數據:( – Kostadin 2012-01-06 13:37:35

+0

同樣的事情發生在我身上 – feresr 2015-08-06 19:06:45