Evitare di Android automaticamente aggiungere nuovamente il mio frammento sul cambiamento dell'orientamento

StackOverflow https://stackoverflow.com/questions/5345474

Domanda

Ho un ListFragment che dipende dal Activity hosting per correttamente inizializzazione. Al primo avvio, carica sull'indennità. Una volta a cambiare l'orientamento, la mia app si blocca. Dalla traccia dello stack che posso vedere che non mi sta cercando di aggiungere il Fragment prematuramente, piuttosto Android sta cercando di ripristinare la Fragment.

Ho impostato setRetainInstance(false) nel metodo onStart ma non riesco a trovare alcun metodo per disabilitare il ripristino del Fragment una volta che i cambiamenti di orientamento. Qualche idea? Ho bisogno di rimuovere il Fragment prima della mia app viene distrutta?

Edit: ho finito per ritardare l'inizializzazione l'elenco fino al Activity è pronto. Android mostra convenientemente un messaggio 'Loading' fino a quando viene impostata l'adattatore.

È stato utile?

Soluzione

Ho finito per ritardare l'inizializzazione l'elenco fino al Activity è pronto. Android mostra convenientemente un messaggio 'Loading' fino a quando viene impostata l'adattatore.

Altri suggerimenti

Ho un ListFragment che dipende dalla attività di hosting correttamente inizializzazione.

Che può essere la vostra difficoltà proprio lì.

Dalla traccia dello stack che posso vedere che non mi sta cercando di aggiungere il frammento prematuramente, piuttosto Android sta cercando di ripristinare il frammento.

Una corretta.

Tutte le idee?

I si concentrerà sulla gestione modifiche di configurazione in modo corretto. Tra onSaveInstanceState() nel frammento e la combinazione di onRetainNonConfigurationInstance(), getLastNonConfigurationInstance() (entrambi su Activity) e onAttach() (sulla Fragment), si dovrebbe essere in grado di passare tutto ciò che roba è nel vecchio frammento di quello nuovo, senza schiantarsi. Per modifiche di configurazione, non si basano su "l'attività di hosting correttamente inizializzazione".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top