3

BaseAdapterを含むListViewがあるフラグメントがあります。次に、オプションを選択してコレクションにアイテムを追加するポップアップメニューがあります。コレクションのデータはリストに表示されますが、表示されません。ビューを更新するには、adapter.notifyDataChanged()を追加する必要があります。

問題は、異なるクラスのアダプタにアクセスできない可能性があることです。自動UI更新を有効にするにはどうすればよいですか?

PS。UIスレッドからデータを追加しようとしましたが、それでも何もありません...

                    getActivity().runOnUiThread(new Runnable() {

                        public void run() {
                            GlobalData.groupTable.put(newGroup.getId(), newGroup);

                        }
                    });
4

2 に答える 2

3

問題は、異なるクラスからアダプターにアクセスできない可能性があることです。

カスタム コールバックを作成してアダプタを更新します。このアプローチは、開発者ガイドからのものです。

于 2013-02-04T23:50:17.470 に答える
2

そうではありません。アダプターをパラメーターとして、それを呼び出す必要のあるクラスに渡します。または、addメソッドをオーバーライドしてアダプターを呼び出す独自のコレクションクラスを作成することもできますが、その場合でも、アダプターを新しいコレクションクラスに渡す必要があります。

于 2013-02-04T23:46:32.867 に答える