DialogFragment
的创建生命周期中的哪一点可以安全地解除它,以便用户永远不会看到它?我的意图是当用户旋转屏幕时,DialogFragment
再次经历创建生命周期,我更喜欢有选择地重新创建它。如果condition x
,请重新创建DialogFragment
,如果condition y
,只需在重新创建时将其关闭,以便用户永远不会在新方向中看到它。那么,在我的创建生命周期中,我可以安全地说,dismiss
?
答案 0 :(得分:0)
您可以尝试控制DialogFragment
中onConfigureChanged(...)
的生命周期:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Fragment yourDialog = getFragmentManager().findFragmentByTag("dialog_tag");
if(yourDialog != null) {
DialogFragment df = (DialogFragment) yourDialog;
df.dismiss();
}
if(condition x)
{
//here recreate your dialog
}
}
希望这个想法有所帮助!