在对话框关闭时调用上一个活动方法

时间:2013-09-19 12:33:21

标签: android android-activity refresh android-dialog

点击课程MainActivity中的某个按钮,会显示一些片段FragDialog的对话框:

FragDialog cf = new FragDialog().newInstace();

cf.show(getSupportFragmentManager(), "dialog");

当按下硬件后退按钮时或当焦点活动MainActivity时,对话框将被取消,我返回活动MainActivity

在对话解除后,不会调用活动onResume()的方法onAttach()MainActivity

想法是在对话框关闭后刷新活动MainActivity,以便根据对话框片段FragDialog中选择的字段获取更改的视图。

如文档DialogFragment中所述,

// DialogFragment.show() will take care of adding the fragment
// in a transaction.  We also want to remove any currently showing
// dialog, so make our own transaction and take care of that here.

但是添加remove()似乎毫无意义,因为它没有被调用,即使没有它也会解除对话。

我想知道如果这个被调用,那么我可以再次启动活动MainActivity来反映这些变化。

1 个答案:

答案 0 :(得分:1)

当您调用对话框时,您没有失去活动的控制权,它不会处于非活动状态。所有你需要的只是在对话框关闭时为活动创建一个事件,如果你通过按钮取消它就很容易了。然后你只需要改变你的视图。

这是关于Dialogs的好文章 http://developer.android.com/guide/topics/ui/dialogs.html