Ich habe ein verschachteltes Fragment, das mein PhotoNoteDialogFragment zeigt (!):Nested DialogFragment wird nach der Drehung entlassen
private void newPhotoNote() {
mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}
Der Dialog erscheint, wird aber so schnell entlassen, da ich das Gerät drehen. Ich habe bereits einige der Forschung und versucht, diese Dinge ohne Erfolg:
Satz PhotoNoteDialogFragment # setRetainInstance (true). Funktioniert nicht, da verschachtelte Fragmente nicht beibehalten werden können.
Mit diesem Code-Schnipsel in PhotoNoteDialogFragment einen Fehler zu verhindern, die ein unerwünschten entlassenen Anruf aus dem System setzt:
@Override public void onDestroyView() { if (getDialog() != null) getDialog().setDismissMessage(null); super.onDestroyView(); }
- Versuchen Sie, rufen Sie die Show() - Methode in meinem verschachtelten Fragmente #onActivityCreated, wenn die Instanz des PhotoNoteDialogFragment iSt nicht null:
@Override public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mPhotoNoteDialogFragment != null) { mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); } }
Keiner dieser Versuche konnte dazu führen, dass das DialogFragment nach der Bildschirmdrehung wieder aufgerufen wurde. Hat sonst jemand eine Idee, was ich als nächstes versuchen könnte ..? Ich habe keine Ideen mehr.
thx
Haben Sie ein anderes Layout für Hoch- und Querformat verwendet? – Amsheer
Wie fügen Sie das Wurzelfragment hinzu? Sind Sie sicher, dass es vom System beibehalten wird oder Sie es manuell neu erstellen? –
@Amsheer: Ja, ich habe verschiedene Layouts für das verschachtelte Fragment sowie für das Dialogfeldfragment. – muetzenflo