提问人:muetzenflo 提问时间:6/19/2013 更新时间:9/8/2013 访问量:1327
嵌套的 DialogFragment 在轮换后被关闭
Nested DialogFragment gets dismissed after rotation
问:
我有一个嵌套的(!显示我的 PhotoNoteDialogFragment 的片段:
private void newPhotoNote() {
mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}
该对话框会弹出,但一旦我旋转设备就会被关闭。我已经做了一些研究,并尝试了这些事情,但没有成功:
设置 PhotoNoteDialogFragment#setRetainInstance(true)。不起作用,因为嵌套的 Fragment 不能保留。
在 PhotoNoteDialogFragment 中使用以下代码片段可防止从系统发出不需要的关闭调用的 bug:
@Override public void onDestroyView() { if (getDialog() != null) getDialog().setDismissMessage(null); super.onDestroyView(); }
- 尝试在我的嵌套 Fragment#onActivityCreated 中调用 show()-方法,如果 PhotoNoteDialogFragment 的实例不为空:
@Override public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mPhotoNoteDialogFragment != null) { mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); } }
这些尝试都无法使 DialogFragment 在屏幕旋转后再次出现。 还有其他人的想法,我接下来可以尝试什么..?我没有想法了。
感谢
答:
0赞
Zyoo
9/8/2013
#1
我认为您不必覆盖,没有它您的对话就可以了。我也试过了。如果显示,则应用上的对话框将崩溃。onActivityCreated
onActivityCreated
上一个:mysql中的嵌套表
下一个:如何恢复根节点
评论