Android - le Meilleur moyen d'éviter les boîtes de dialogue pour la rejeter après un dispositif de rotation
Après une longue recherche autour de ce forum, j'ai trouvé beaucoup de réponses où les gens proposent d'utiliser les solutions pour éviter les boîtes de dialogue de rejeter après la rotation, comme:
android:configChanges="keyboardHidden|orientation"
Ou de remplacer la méthode suivante, qui semblait être le plus recommandé:
protected Dialog onCreateDialog(int id)
Mais, après de regarder autour de le Android de Référence de la Documentation, j'ai pu constater que ces boîtes de Dialogue sont les méthodes déconseillé.
Donc, la question évidente est:
Aujourd'hui, quelle est la meilleure façon d'éviter les boîtes de dialogue de rejeter après un dispositif de rotation?
Merci d'avance.
un moyen facile de le faire est de verrouiller l'orientation de l'écran, donc il n'y a pas de rotation, mais je devine que ce n'est pas une option.
OriginalL'auteur Jorge Gil | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
Vous devez maintenant utiliser DialogFragment de nouveaux Fragments de l'API. Pour l'utiliser sur la plate-forme inférieure à 3.0, utilisez package de compatibilité.
La même réponse avec un exemple de code: stackoverflow.com/a/15729764/842697
OriginalL'auteur Vladimir Ivanov
ce que je vais faire la réponse est basée sur les Dialogues seul (PAS dialogfragment qui sont d'un tout autre jeu).
Les boîtes de dialogue sont une partie de l'activité, et en tant que tels, ils sont détruits au cours de la rotation. Les références que vous avez utilisé pour avoir de la boîte de dialogue pointent désormais à une boîte de dialogue que ce n'est pas sur l'écran, et de plus, susceptible de vous causer des problèmes.
Malheureusement il n'y a pas de solution facile.
Avec
android:configChanges="keyboardHidden|orientation"
vous allez créer une variété d'autres problèmes pour vous-même.La façon de le faire est d'enregistrer la configuration de la boîte de dialogue, de les rejeter, et à chaque fois que l'activité est en cours de re-créée, re-créer la boîte de dialogue.
OriginalL'auteur Budius
essayer celui-ci....
OriginalL'auteur Anoop S S