Comment faire pour restaurer le dialogue etc après avoir fait pivoter l'écran? Par exemple, affichez un alertDialog pour informer l'utilisateur. l'utilisateur fait ensuite pivoter l'écran vers une autre orientation. Comment restaurer le alertDialog? Quelqu'un peut-il me guider pour le faire? Merci!Android: Dialog etc restaurer après rotation a changé
Annexés plus tard:
J'ai regardé dans le code source Android et trouver ces choses:
Dialogs sont stockés dans mManagedDialogs
, et les renseignements connexes sont:
mManagedDialogs = new SparseArray<ManagedDialog>();
onSaveInstanceState
liés:
final void performSaveInstanceState(Bundle outState) {
onSaveInstanceState(outState);
saveManagedDialogs(outState);
}
Dans saveManagedDialogs
, cela a quelque chose à voir avec mManagedDialogs
.
onRestoreInstanceState
connexes:
final void performRestoreInstanceState(Bundle savedInstanceState) {
onRestoreInstanceState(savedInstanceState);
restoreManagedDialogs(savedInstanceState);
}
En restoreManagedDialogs
, il a quelque chose à voir avec mManagedDialogs
.
Comme vous pouvez le voir, pour une fonctionnalité avancée, vous devez effectuer le travail de sauvegarde et de restauration par vous-même. Ce peut être une jument de nuit quand vous avez des tonnes de boîtes de dialogue personnalisées. Je n'ai pas essayé le dialogue complexe (a entré EdiText, listView, disons). De cette façon, je voudrais avertir les utilisateurs: Ne jamais faire pivoter l'écran lors de la saisie de vos informations dans la boîte de dialogue ... OU, verrouiller la rotation de façon dynamique lors de l'affichage de la boîte de dialogue.
Merci pour toutes les personnes qui m'ont répondu. J'espère que mes informations vous aideront aussi.
Comment résoudre ce problème de nos jours: http://stackoverflow.com/a/15729764/842697 –