Come ripristinare la finestra di dialogo ecc. Dopo aver ruotato lo schermo? Ad esempio, fai comparire un alertDialog per comunicare all'utente alcune informazioni. quindi l'utente ruota lo schermo in un altro orientamento. Come ripristinare l'alertDialog? Qualcuno può guidarmi a farlo? Grazie!Android: dialogo ecc. Ripristino dopo la rotazione modificato
aggiunti in seguito:
ho guardato nel codice sorgente di Android e trovare queste cose:
finestre di dialogo sono memorizzati in mManagedDialogs
, e le informazioni relative sono:
mManagedDialogs = new SparseArray<ManagedDialog>();
onSaveInstanceState
correlati:
final void performSaveInstanceState(Bundle outState) {
onSaveInstanceState(outState);
saveManagedDialogs(outState);
}
In saveManagedDialogs
, ha qualcosa a che fare con mManagedDialogs
.
onRestoreInstanceState
correlato:
final void performRestoreInstanceState(Bundle savedInstanceState) {
onRestoreInstanceState(savedInstanceState);
restoreManagedDialogs(savedInstanceState);
}
In restoreManagedDialogs
, ha qualcosa a che fare con mManagedDialogs
.
Come si può vedere, per la funzione avanzata, è necessario fare il lavoro salvataggio e il ripristino da soli. Potrebbe essere una cavalla notturna quando hai tonnellate di dialoghi personalizzati. Non ho provato la complessa finestra di dialogo (ho inserito EdiText, listView, diciamo). In questo modo, vorrei avvisare gli utenti: non ruotare mai lo schermo quando si inseriscono le informazioni nella finestra di dialogo ... O, bloccare la rotazione dinamicamente quando si visualizza la finestra di dialogo.
Grazie per tutte le persone che mi hanno risposto. Spero che le mie informazioni possano aiutarti anche tu.
Come risolvere questo problema al giorno d'oggi: http://stackoverflow.com/a/15729764/842697 –