Ho un nidificato Frammento che mostra il mio PhotoNoteDialogFragment (!):nidificati DialogFragment viene licenziato dopo la rotazione
private void newPhotoNote() {
mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}
La finestra si apre, ma viene respinto, non appena ho ruotare il dispositivo. Ho fatto già qualche ricerca ed ho provato queste cose senza successo:
set PhotoNoteDialogFragment # setRetainInstance (vero). Non funziona, perché i frammenti nidificati non possono essere mantenuti.
Utilizzare questo frammento di codice in PhotoNoteDialogFragment per evitare un bug che mette un indesiderato respingere chiamata dal sistema:
@Override public void onDestroyView() { if (getDialog() != null) getDialog().setDismissMessage(null); super.onDestroyView(); }
- tenta di chiamare lo spettacolo() - Metodo della mia Frammento nidificato #onActivityCreated, se l'istanza del PhotoNoteDialogFragment ist non nullo:
@Override public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mPhotoNoteDialogFragment != null) { mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); } }
Nessuno di questi tentativi ha potuto far comparire DialogFragment dopo la rotazione dello schermo. Qualcun altro ha un'idea, cosa potrei provare dopo ...? Sono fuori di idee.
thx
Si è utilizzato un layout diverso per la modalità verticale e orizzontale ... – Amsheer
Come si aggiunge il frammento di root? Sei sicuro che sia mantenuto dal sistema o lo stai ricreando manualmente? –
@Amsheer: Sì, ho diversi layout per il frammento nidificato e per il dialogFragment. – muetzenflo