更改方向后强制不重新创建DialogFragment

时间:2019-01-19 11:08:51

标签: android android-dialogfragment

通过DialogFragment打开可见的Activity来更改应用程序的方向时,将重新创建对话框。我该如何强制将其关闭?

目前,我尝试将其作为成员存储在我的活动中,并在onCreate中将其关闭,但目前看来它为空;

1 个答案:

答案 0 :(得分:0)

正如@Luksprog在评论中提到的,解决方案可能是:

在创建时为DialogFragment提供标签:

FragmentManager fragmentManager = getSupportFragmentManager();
MyDialogFragment.newInstance(...).show(fragmentManager, "myTag");

搜索并在onCreate中将其关闭

MyDialogFragment dialog = ((MyDialogFragment)getSupportFragmentManager().findFragmentByTag("myTag"));
if (dialog != null) {
    dialog.dismiss();
}

我认为完全禁用DialogFragment的重新创建会更有效,但是我不知道这是否可能。