我有一个片段,其中有一个带有BaseAdapter的ListView。 然后我有一个弹出菜单,我在其中选择一个选项,它将项目添加到Collection。 来自集合的数据应显示在列表中,但不会显示。 我需要添加adapter.notifyDataChanged()来更新视图。
问题是我可能无法访问不同类的适配器。如何启用auto-ui更新?
PS。我试图从UI线程添加数据,但仍然没有...
getActivity().runOnUiThread(new Runnable() {
public void run() {
GlobalData.groupTable.put(newGroup.getId(), newGroup);
}
});
答案 0 :(得分:3)
问题是我可能无法访问不同类的适配器。
创建自定义回调以更新适配器。 This approach来自开发人员指南。
答案 1 :(得分:2)
不是。将适配器作为参数传递给需要调用它的类。或者你可以编写自己的集合类来覆盖add方法来调用适配器,但即使这样你也必须将适配器传递给新的集合类。