我有一个嵌套的(!)片段,显示我的PhotoNoteDialogFragment:
private void newPhotoNote() {
mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}
弹出对话框,但一旦旋转设备就会被解除。我已经做了一些研究并尝试了这些事情没有成功:
设置PhotoNoteDialogFragment#setRetainInstance(true)。不起作用,因为不能保留嵌套的片段。
在PhotoNoteDialogFragment中使用此代码段,以防止从系统发出不需要的解雇调用的错误:
@Override public void onDestroyView() { if (getDialog() != null) getDialog().setDismissMessage(null); super.onDestroyView(); }
@Override public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mPhotoNoteDialogFragment != null) { mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); } }
这些尝试都不会使屏幕旋转后DialogFragment再次出现。 有没有其他人的想法,我可以尝试下一步..?我没有想法。
THX
答案 0 :(得分:0)
我认为你不必覆盖onActivityCreated
,没有它你的对话就没事了。我也试过了。如果您在onActivityCreated
上显示对话框,您的应用就会崩溃。