我有一个带有ListView的片段。这个ListView充满了适配器。
我启动了一个DialogFragment,我可以在ListView上输入now行的数据。
现在我想在对话框关闭时刷新对话框下的片段。
如何刷新ListView?我无法从片段外部调用notifyDataSetChanged()。
我读了一些关于回调加载器的内容,但是我用一个数组填充了ListView。据我所知,回调Loader我必须使用Cursor。
我也尝试调用活动的函数但是我也无法调用notifyDataSetChanged()。使适配器静态不起作用。
我希望有人理解我的问题并且可以停下来解决它。
答案 0 :(得分:1)
在你的情况下,我会将Adapter实例传递给类,这会创建Dialog。我没有看到任何其他解决方案。
您还可以在Fragment类中创建Dialog并将OnClickListener定义为内部类,以便您可以直接访问Adapter。
您还可以使用类似事件总线的东西,这对虱子耦合有很大帮助。
答案 1 :(得分:0)
您可以将调用片段设置为侦听器。
FragmentManager fm = getSupportFragmentManager();
MyDialog d = new MyDialog();
d.setDataChangeListener(this);
d.show(fm, "fragment_name");