後に解雇されます私は私の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
ポートレートモードとランドスケープモードで異なるレイアウトを使用しましたか... – Amsheer
ルートフラグメントをどのように追加していますか?システムによって保持されていると思いますか、手動で再作成していますか? –
@Amsheer:はい、ネストしたフラグメントとdialogFragmentのレイアウトが異なります。 – muetzenflo