从AlertDialog刷新片段

时间:2013-06-05 19:41:59

标签: android android-listview android-fragments android-alertdialog

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

我启动了一个DialogFragment,我可以在ListView上输入now行的数据。

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

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

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

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

我希望有人理解我的问题并且可以停下来解决它。

2 个答案:

答案 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");