我有一个嵌套的(!)片段,它显示了我的 PhotoNoteDialogFragment:
private void newPhotoNote() {
mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}
对话框会弹出,但一旦我旋转设备就会消失。我已经做了一些研究并尝试了这些事情但没有成功:
设置 PhotoNoteDialogFragment#setRetainInstance(true)。不起作用,因为嵌套的 Fragments 不能不被保留。
在 PhotoNoteDialogFragment 中使用此代码片段来防止从系统发出不需要的关闭调用的错误:
@覆盖 公共无效 onDestroyView() { 如果(getDialog()!= null) getDialog().setDismissMessage(null); super.onDestroyView(); }
- 如果 PhotoNoteDialogFragment 的实例不为空,请尝试在我的嵌套 Fragment#onActivityCreated 中调用 show()-Method:
@覆盖 public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mPhotoNoteDialogFragment != null) { mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); } }
这些尝试都不能使 DialogFragment 在屏幕旋转后再次出现。有其他人有什么想法,我接下来可以尝试什么..?我没主意了。
谢谢