通知データセット変更の例 質問する

通知データセット変更の例 質問する

Android Application私は自分のメソッドを使用しようとしていますnotifyDataSetChanged()ArrayAdapter、うまくいきません。

私は見つけたここでの答えとしてnotifyDataSetChanged()メインスレッドで実行されるはずですが、そのための例はありませんでした。

誰か例か少なくともリンクを送ってくれませんか?

ベストアンサー1

の場合ArrayAdapter、はアダプタで、、、notifyDataSetChangedを使用する場合にのみ機能します。add()insert()remove()clear()

が構築されるとArrayAdapter、渡された への参照が保持されます。アクティビティのメンバーListである を渡し、後でそのアクティビティ メンバーを変更した場合、 は元の への参照を保持したままになります。アダプタは、アクティビティでが変更されたことを認識しません。ListArrayAdapterListList

選択肢は次のとおりです:

  1. の関数を使用してArrayAdapter、基になるリスト ( add()、、、など)を変更しますinsert()remove()clear()
  2. ArrayAdapter新しいデータで再作成しますList。(多くのリソースとガベージ コレクションを使用します。)
  3. から派生した独自のクラスを作成しBaseAdapterListAdapter基礎となるデータ構造の変更を可能にしますList
  4. リストが更新されるたびにを使用しますnotifyDataSetChanged()。UI スレッドで呼び出すには、runOnUiThread()の を使用しますActivity。そうすれば、notifyDataSetChanged()が機能します。

おすすめ記事