J'ai un AlertDialog personnalisé où un utilisateur doit définir un mot de passe. Il y a deux vues edittext. Je les compare d'abord s'ils correspondent et s'ils ont plus de 3 caractères. Si elles ne correspondent pas, j'affiche un toast pour alerter l'utilisateur. Mais après la soumission et la vérification de la boîte de dialogue se ferme. Comment puis-je le garder ouvert jusqu'à ce que l'utilisateur insère les valeurs correctes?Maintien de l'interface DialogInterface d'AlertDialog ouverte
Répondre
Je regardais faire quelque chose de similaire et je ne pouvais pas trouver un moyen de le faire avec le standard AlertDialog tel qu'il est. Une façon possible que j'ai trouvée était de ne pas spécifier d'écouteurs de bouton dans votre AlertDialog et de placer à la place une vue avec vos propres boutons personnalisés qui effectuent les contrôles, puis de fermer la boîte de dialogue si nécessaire. Je n'ai pas encore essayé cela pour voir comment ça fonctionne.
Une autre option consiste à créer votre propre boîte de dialogue personnalisée en sous-classant Dialogue. Fyi: recréer la boîte de dialogue ne fonctionne pas.
Vous devez définir une variable globale comme
boolean showAlert = true;
Et attacher un auditeur onClick au AlertDialog et après cheking pour voir s'il est nécessaire de montrer à nouveau l'alerte. S'il y a un besoin, vous devriez le montrer à nouveau. Vous ne pouvez pas le garder ouvert si l'utilisateur clique sur un bouton du AlertDialog. Vous devez le recréer à nouveau.
- 1. PHP cookies cURL & session de maintien ouverte
- 2. DialogInterface vs Afficher OnClickListeners
- 3. Force Close pour faire AlertDialog et DialogInterface
- 4. Ouverture et fermeture de 1 s ou maintien en position ouverte
- 5. Maintien d'une application d'instance unique
- 6. Maintien de la session
- 7. Ecran graphique de maintien
- 8. Maintien de l'état
- 9. Maintien de l'état privé
- 10. Maintien de l'application CoreData
- 11. (as3) URLloader maintien de la connexion
- 12. Identifiez AlertDialog déclenché onClick (dialogue DialogInterface, int qui)
- 13. struts2 Maintien de la session
- 14. Maintien du comportement de CheckBox
- 15. Maintien de l'état des fragments
- 16. Cocoa Touch - Touches de maintien
- 17. Maintien de l'état d'un répéteur
- 18. Maintien de l'intégrité des messages
- 19. Contrôle HiddenField maintien viewstate
- 20. PhantomJS maintien du cache
- 21. Haskell Webserver: maintien de l'état de l'application
- 22. enfants de maintien de la taille fixe
- 23. Maintien de l'état de la page
- 24. Maintien de gobj à l'aide de Glist
- 25. Maintien de l'état lors de la radiomessagerie
- 26. Tests de maintien compte de référence
- 27. Android - SQLiteDatabase Non maintien Insérer
- 28. Maintien du code Carbone hérité
- 29. maintien double variable valeur incorrecte
- 30. Historique de maintien dans Rails 3
Si vous appelez showDialog() dans onClick de la boîte de dialogue, il est simplement ignoré. – WarrenFaith
@WarrenFaith En recréant, je veux dire créer un nouvel objet de AlertDialog. – vendor
Je le sais. J'ai essayé de trouver un moyen de créer un nouvel objet de la boîte de dialogue lors de l'appel de showDialog(). Je viens d'utiliser dismissDialog() pour le supprimer, mais appeler à nouveau showDialog() ne crée pas un nouvel objet de la boîte de dialogue. J'ai dû utiliser removeDialog() qui supprime toute référence interne à la boîte de dialogue afin que showDialog() crée un nouvel objet. C'est tout ce que j'ai essayé de dire :) – WarrenFaith