2012-01-06 5 views
0

私のexpandablelistviewで子アイテムを削除する必要があります。 私の試行は: 1.アダプタからのデータが正常に削除されました。範囲外のインデックス:exceptuion: 2.「m_list.invalidateViews()」 結果があるとリストビューを再構築しようとしました。 debugerを見るとReload ExpandableListアダプタを変更した後のアイテムを表示

- childPositionの値は、アダプタdata.Strangeの数よりも大きいです。 通常、getChildViewは、アダプタの各項目に対して呼び出されます。なぜ、getChildViewがデータサイズよりも大きいchildPositionで呼び出されたのですか?

+0

notifyDataSetChanged()が機能しません。 –

+1

それは動作します。奇妙な事実です:アダプターは3つの項目を持っていますが、getChildViewは4のために呼び出されます.....おそらく、ビューはキャッシュされたデータで構築されたものであり、アダプターからは実際ではありません。 – Kostadin

答えて

2

変更データセットは、そこからあなたは、リストをロードし、そしてadapter.notifyDataSetChanged()を呼び出しています。

+0

試みましたnotifyDataSetChanged - OKです。おそらくInvalidateViewsはビューを再構築しますが、アダプターからキャッシュされたデータで動作します。( – Kostadin

+0

同じことが起こった – feresr

関連する問題