Ho una domanda riguardante DialogFragment. Sto cercando di creare una finestra di dialogo che mantenga lo stato dopo che il dispositivo è stato ruotato. Questa finestra di dialogo contiene una serie di riferimenti a cose come adattatori e altri oggetti più pesanti e ho bisogno che questa venga mantenuta a rotazione, se possibile senza dover rendere ogni riferimento Parcelable o Serializable per poter utilizzare onSaveInstanceState per salvarli e ripristinarli quando l'attività originale viene ricreata.DialogFragment con setRetainInstanceState (true) non viene visualizzato dopo che il dispositivo è stato ruotato
Ho notato che esiste un metodo chiamato setRetainInstance (booleano) nel DialogFragment che consente di mantenere l'istanza del frammento di finestra di dialogo quando l'attività viene ricreata. Tuttavia, quando ruoto il dispositivo ora, la finestra di dialogo non viene più visualizzata. So che posso ottenerlo dal FragmentManager dell'attività, ma non riesco a trovare un modo per renderlo nuovamente visibile. Qualche suggerimento su questo?
Grazie, Mihai
Forse questo può aiutare: http://stackoverflow.com/questions/8235080/fragments-dialogfragment-and-screen-rotation –
Vedo un problema concettuale molto più grande qui. Nei documenti di android per setFragmentInstance è scritto che "Controlla se un'istanza di frammento viene mantenuta attraverso la ricreazione di attività (ad esempio da una modifica di configurazione). Può essere utilizzata solo con ** frammenti non nello stack posteriore **. impostato, il ciclo di vita del frammento sarà leggermente diverso quando viene ricreata un'attività ". Questa cosa è dovuta al fatto che il frammento di dialogo è nel backstack? – Swapnil