从AlertDialog中刷新片段

我有一个带有ListView的片段。 该ListView充满了一个适配器。

我开始一个DialogFragment,在那里我可以输入ListView上现在行的数据。

现在我想在对话框关闭时刷新对话框下的片段。

我如何刷新ListView? 我无法从片段外部调用notifyDataSetChanged()。

我读了一些关于回调加载器的内容,但我使用数组填充ListView。 据我所知,回调Loader我必须使用光标。

我也尝试调用活动的函数,但是我也无法调用notifyDataSetChanged()。 使适配器静态不起作用。

我希望有人了解我的问题,并可以halp来解决它。


您可以将调用片段设置为侦听器。

FragmentManager fm = getSupportFragmentManager();
MyDialog d = new MyDialog();
d.setDataChangeListener(this);
d.show(fm, "fragment_name");

在你的情况下,我会将Adapter实例传递给创建Dialog的类。 我没有看到任何其他解决方案。

您还可以在Fragment类中创建对话框并将OnClickListener定义为内部类,以便您可以直接访问适配器。

你也可以使用类似事件总线的东西,这对于虱子耦合有很大帮助。

链接地址: http://www.djcxy.com/p/64591.html

上一篇: Refresh Fragment from AlertDialog

下一篇: Correct workflow to retrieve data from internet and show in a Listview