如何启用Collection notifyDataChanged?

时间:2013-02-04 23:44:09

标签: java android android-ui

我有一个片段,其中有一个带有BaseAdapter的ListView。 然后我有一个弹出菜单,我在其中选择一个选项,它将项目添加到Collection。 来自集合的数据应显示在列表中,但不会显示。 我需要添加adapter.notifyDataChanged()来更新视图。

问题是我可能无法访问不同类的适配器。如何启用auto-ui更新?

PS。我试图从UI线程添加数据,但仍然没有...

                    getActivity().runOnUiThread(new Runnable() {

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

                        }
                    });

2 个答案:

答案 0 :(得分:3)

  

问题是我可能无法访问不同类的适配器。

创建自定义回调以更新适配器。 This approach来自开发人员指南。

答案 1 :(得分:2)

不是。将适配器作为参数传递给需要调用它的类。或者你可以编写自己的集合类来覆盖add方法来调用适配器,但即使这样你也必须将适配器传递给新的集合类。