Android - Modifier le texte de la positive bouton d'un AlertDialog
- Je réutiliser un AlertDialog boîte dans mon application android.
- Je créer une boîte de dialogue dans le onCreateDialog() la méthode et dans le onPrepareDialog() la méthode, j'ai essayer de modifier le texte de la positiveButton en utilisant le code suivant.
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, this.getString(R.string.add), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//Handler code
}
}
Le onclick auditeur à se changer, mais le texte du bouton n'est pas modifié.
Est-il un bug sur Android ou suis-je en train de faire quelque chose de mal?
OriginalL'auteur Sudar | 2010-07-27
Vous devez vous connecter pour publier un commentaire.
Une solution, c'est juste pour forcer le bouton de rafraîchissement. Par exemple, un bouton pour annuler une opération longue peut changer pour " OK " sur complet, par exemple
Merci! Intéressant de noter que si vous faites cela pour les boutons d'un AlertDialog dans onPrepareDialog, comme dans la question, vous n'avez même pas besoin de la
invalidate()
. Je suppose que c'est probablement parce que le dialogue n'est pas sur l'écran à ce point.OriginalL'auteur user527897
Cela fonctionne pour moi
Dans aucun d'eux. Je n'ai pas réutilisé ces méthodes de l'activité. Ce code montre, tout simplement, une boîte de dialogue d'alerte avec le point de vue de addView (gonflé avant).
Je comprends ce code. Mais ma question était différente. J'utilise déjà onCreateDialog() et onPrepareDialog (). J'ai créé la boîte de dialogue dans le onCreateDilaog() la méthode mais lorsque je tente de modifier le texte de la positive bouton dans le onPrepareDialog() c'est seulement la modification de la onClickListener et pas le texte.
Vous pouvez facilement adapter mon exemple à vos besoins. Appelez simplement
.create();
au lieu deshow()
et retour dans votreonCreateDialog
méthode de laDialog
créé par le code.Mon onCreateDialog() code fonctionne correctement sans aucun problème. Mon problème est que, lorsque j'essaie de modifier le texte de la positive bouton dans le onPrepareDialog() à l'aide de la setButton() la méthode, le texte n'est pas modifié. La raison pourquoi je le fais dans onPreapareDialog (), c'est que onCreateDialog() sera appelée qu'une seule fois lorsque la boîte de dialogue est créé pour la première fois. Je veux réutiliser la même boîte de dialogue, mais seulement de modifier le texte de la positive bouton "Ajouter", "Modifier". Lorsque j'ai mis le texte à l'aide de la setButton méthode, il n'est pas changé.
OriginalL'auteur Pentium10