PhotoNoteDialogFragment

PhotoNoteDialogFragment

我有一个嵌套的(!) fragment ,显示我的PhotoNoteDialogFragment:

private void newPhotoNote() {
  mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
  mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}

对话框会弹出,但是一旦旋转设备就会被关闭。我已经进行了一些研究,并尝试了以下这些尝试,但均未成功:
  • 设置PhotoNoteDialogFragment#setRetainInstance(true)。不起作用,因为无法保留嵌套的 fragment 。
  • 在PhotoNoteDialogFragment中使用此代码段可防止导致系统发出不必要的取消调用的错误:

  • @Override
    公共(public)无效onDestroyView(){
    如果(getDialog()!= null)
    getDialog()。setDismissMessage(null);
    super.onDestroyView();
    }
  • 如果PhotoNoteDialogDialogFragment实例不为null,请尝试在我的嵌套Fragment#onActivityCreated中调用show()-方法:

  • @Override
    public void onActivityCreated(final Bundle savedInstanceState){
    super.onActivityCreated(savedInstanceState);
    如果(mPhotoNoteDialogFragment!= null){
    mPhotoNoteDialogDialogFragment.show(getFragmentManager(),PhotoNoteDialogFragment.TAG);
    }
    }

    这些尝试都无法使DialogFragment在屏幕旋转后再次出现。
    还有其他想法,我下一步可以尝试..?我没主意了。

    谢谢

    最佳答案

    我认为您不必重写onActivityCreated,没有它的对话框也很好。我也尝试过如果在onActivityCreated上显示对话框,则您的应用程序将崩溃。

    关于android - 旋转后嵌套的DialogFragment被关闭,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17188829/

    10-11 22:31