如何从片段重启活动?

时间:2015-10-12 23:30:20

标签: android android-fragments android-activity

我有一个MainActivity,它有一个导航抽屉。  如果我在导航抽屉中选择一个项目,它会启动一个对话框片段FragmentA。现在,如果我在FragmentA中更改了一些内容,我希望一旦FragmentA被解散,MainActivity就会反映出新的变化。从FragmentA重启MainActivity的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

使用此代码

getActivity().recreate();

答案 1 :(得分:5)

你的问题不明确。我认为FragmentA是一个DialogFragment。至少我是假设它。

您可以在FragmentA中覆盖onDestroy方法并写入

((MyActivity)getActivity()).refreshUI();

我们基本上将活动实例转换为我们的活动,让我们调用我们可以刷新ui的方法。

肮脏的方式是, 你也可以写

Intent intent = new Intent(getContext, MyActivity.class);
intent.setFlag(Intent.CLEAR_TASK);
startActivity(intent);

通过这种方式,我们再次开始我们的活动并杀死了一个在后台的人。我假设您的数据是从另一个类似于单身的类中保留的。否则你会丢失它们,或者你可以使用第一种方法。

祝你好运。