3

我有一个片段,其中有一个带有 BaseAdapter 的 ListView。然后我有一个弹出菜单,我在其中选择一个选项并将项目添加到 Collection。收集的数据应该显示在列表中,但它不显示。我需要添加 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 回答