ArrayListを使ってListViewにデータを表示しています。Androidでのリストリストの編集ListView
アクティビティの途中で、アイテムの追加や削除によってArrayListを編集する必要があることがあります。
実際のArrayAdapterのadd/delete関数を、基本となるArrayListと比較すると、違いはありますか?どちらを使うのが良いですか?
ArrayListを使ってListViewにデータを表示しています。Androidでのリストリストの編集ListView
アクティビティの途中で、アイテムの追加や削除によってArrayListを編集する必要があることがあります。
実際のArrayAdapterのadd/delete関数を、基本となるArrayListと比較すると、違いはありますか?どちらを使うのが良いですか?
アダプタメソッドを使用します。これにより、データが変更されたことがアダプタ(したがってバインドされたリスト)に自動的に通知されます。
ArrayListを変更する必要がある(または、他のクラスのフィールドであるか、アダプターについて知らない他のスレッドによって変更されているなど)場合があります。
これらのケースでは、あなたはadapter.notifyDataSetChanged()
ああを呼び出す必要があります。したがって、裏書きarraylistを編集し、 'notifyDataSetChanged()'を呼び出すのと同じですか? – yydl
ソースを調べることによって(http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.6_r2/android/widget/ArrayAdapter.java#ArrayAdapter.add%28java .lang.Object%29)、ほとんどの場合、これが正しいことがわかります。 – kabuko
多くの項目を追加している場合は、本質的に毎回 'notifyDataSetChanged()'が呼び出されることになります。基になるarraylistに追加する方が良いですか? 'notifyDataSetChanged()'を一度呼び出すだけですか? – yydl