Comment cliquer sur " OK " sur un AlertDialog via le code?
- Je utiliser showDialog
et dismissDialog
de l'activité pour l'affichage et détruire mon dialogue. Est-il aussi un moyen pour émettre une commande de clic sur le dialogue qui s'affiche, sans garder une variable fait référence à la boîte de dialogue?
Par exemple, je veux appuyer sur la touche 'Ok' /positif bouton de la boîte de dialogue via le code.
Êtes-vous à l'aide d'un générateur de configurer votre boîte de dialogue?
Oui, je suis en utilisant
Ok, bakriOnFire a un assez bon exemple de ce que j'ai fait va post juste avant, j'ai remarqué sa réponse. C'est à peu près ce que vous voulez pour le modèle de votre code comme.
Je pense qu'il a mal compris ma question. Je sais comment le programme d'installation, une boîte de dialogue et comment l'afficher et de le rejeter. Mon problème est de savoir comment déclencher un événement de clic sur elle via le code considérant que je n'ai pas de référence à la boîte de dialogue variable.
Hmm.. ok je pense que je pourrais être de vous suivre... Bonne chance!
Oui, je suis en utilisant
Builder
et je suis primordial onCreateDialog
dans le Activity
configurer ma boîte de dialogue.Ok, bakriOnFire a un assez bon exemple de ce que j'ai fait va post juste avant, j'ai remarqué sa réponse. C'est à peu près ce que vous voulez pour le modèle de votre code comme.
Je pense qu'il a mal compris ma question. Je sais comment le programme d'installation, une boîte de dialogue et comment l'afficher et de le rejeter. Mon problème est de savoir comment déclencher un événement de clic sur elle via le code considérant que je n'ai pas de référence à la boîte de dialogue variable.
Hmm.. ok je pense que je pourrais être de vous suivre... Bonne chance!
OriginalL'auteur Arci | 2013-05-07
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas testé ce code, mais il devrait fonctionner:
Alternativement, si vous ne voulez pas conserver une référence à la boîte de dialogue, mais qui sont en contrôle de son installation, vous pourrez extraire le sur cliquez sur code dans une autre méthode:
et de mettre en œuvre
onPositiveButtonClicked()
dans votre Activité. Au lieu de par programmation en cliquant sur le bouton OK, vous pouvez appeleronPositiveButtonClicked()
etdismissDialog(id)
. Si vous avez besoin de gérer de multiples boîtes de dialogue, ontonPositiveButtonClicked
prendre unid
paramètre.getButton
méthode. Est-il possible de cliquer sur le bouton " OK " sans garder une référence du dialogue?Si vous êtes en mesure de garder une référence à la boîte de dialogue, l'AlertDialog instance est renvoyé par AlertDialog.Générateur de no show(). Sinon, est-il possible de déplacer l'-cliquez sur la logique d'une méthode distincte? Au lieu de simuler un clic, vous pourriez exécuter simplement la sur-cliquez sur le code et fermer la boîte de dialogue.
Oui, il renvoie un
AlertDialog
mais je n'aime pas à garder une variable fait référence à laAlertDialog
. Est-il un moyen d'accéder à la boîte de dialogue à l'aide de laActivity
étant donné que j'ai l'ID de la boîte de dialogue?Je comprends votre question, mais je ne sais pas comment faire. L'API ne semble pas pour le rendre facile; de conserver une référence à la boîte de dialogue peut-être la façon la plus propre à atteindre si l'affacturage-cliquez sur la logique et rejetant la boîte de dialogue n'est pas une option. Si vous trouvez une belle façon de le faire, s'il vous plaît poster. Je serais intéressé de savoir 🙂
Je n'étais pas en mesure de trouver un moyen facile d'accéder à la actuellement boîte de dialogue affichée sur l'Activité. J'ai fini d'utiliser votre solution pour enregistrer une référence de la
AlertDialog
et le déclenchement de l'positifs bouton en utilisantdialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick()
. Merci!OriginalL'auteur Matt Giles
Oui, vous pouvez le faire en obtenant instance de
POSITIVE
BOUTON et ensuite appelerperformClick()
sur elle. essayer aussi:POSITIVE
bouton à l'aide de laActivity
seulement (similaire àdismissDialog
)?OriginalL'auteur ρяσѕρєя K
Si vous utilisez le Générateur de rapports, il n'a pas le getButton() fonction. Vous pouvez essayer celui-ci
Vous pouvez alors accéder au bouton ci-dessous code
OriginalL'auteur byteC0de
Essayez ceci:-
u peut post ur de code pour que nous puissions comprendre wht u veux..
Je suis à la recherche de quelque chose comme
activity.getActiveDialog(DIALOG_ID).getButton(...).performClick()
. Tout commeactivity.dismissDialog(DIALOG_ID)
où vous pouvez fermer la boîte de dialogue en utilisant simplement l'DIALOG_ID.OriginalL'auteur bakriOnFire