2013-06-19 13 views
6

後に解雇されます私は私のPhotoNoteDialogFragmentを示し、ネストされた断片いる(!):ネストされたDialogFragmentが回転

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

ダイアログがポップアップしますが、できるだけ早く私は、デバイスを回転させるとして却下されます。私はすでにいくつかの研究を行なったし、成功せずにこれらの事を試してみました:

  • がセットPhotoNoteDialogFragment#setRetainInstance(真)。ネストされたフラグメントは保持できないため、機能しません。私のネストされたフラグメントのメソッド - ショー()を呼び出すように

 
    @Override 
    public void onDestroyView() { 
     if (getDialog() != null) 
      getDialog().setDismissMessage(null); 
     super.onDestroyView(); 
    } 
  • 試してみてください。システムからコールを望まない却下置くバグを防ぐために

  • 使用PhotoNoteDialogFragmentでこのコードスニペット#onActivityCreated、PhotoNoteDialogFragmentのインスタンスがnullでない場合イスト:

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

これらのいずれの試みも、画面回転後にDialogFragmentを再度表示させることはできません。 他に誰かがアイデアを持っていますが、次に何を試すことができますか?私はアイデアがありません。私はあなたがonActivityCreatedをオーバーライドする必要はありませんだと思う

THX

+0

ポートレートモードとランドスケープモードで異なるレイアウトを使用しましたか... – Amsheer

+0

ルートフラグメントをどのように追加していますか?システムによって保持されていると思いますか、手動で再作成していますか? –

+0

@Amsheer:はい、ネストしたフラグメントとdialogFragmentのレイアウトが異なります。 – muetzenflo

答えて

0

は、あなたのダイアログはそれなしで結構です。私もそれを試した。 onActivityCreatedにダイアログを表示すると、アプリがクラッシュします。

関連する問題