从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