点击课程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
来反映这些变化。
答案 0 :(得分:1)
当您调用对话框时,您没有失去活动的控制权,它不会处于非活动状态。所有你需要的只是在对话框关闭时为活动创建一个事件,如果你通过按钮取消它就很容易了。然后你只需要改变你的视图。
这是关于Dialogs的好文章 http://developer.android.com/guide/topics/ui/dialogs.html