2013-06-19 13 views
6

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

+0

Si è utilizzato un layout diverso per la modalità verticale e orizzontale ... – Amsheer

+0

Come si aggiunge il frammento di root? Sei sicuro che sia mantenuto dal sistema o lo stai ricreando manualmente? –

+0

@Amsheer: Sì, ho diversi layout per il frammento nidificato e per il dialogFragment. – muetzenflo

risposta

0

penso che non c'è bisogno di ignorare onActivityCreated, il vostro dialogo va bene senza di essa. Ci ho provato anche io. Se visualizzi la finestra di dialogo su onActivityCreated, l'app si arresta in modo anomalo.