Je ne vais pas refaire ici une présentation sur la gestion des clics sous Android car je pense que c'est tout simplement la base lorsqu'on développe ses premières interfaces graphiques. Quoi? Vous ne vous rappelez plus de cette fameuse “technique”? Un petit récapitulatif s'impose car la notion de “listener” est essentielle sous Android! Imaginons un bouton créé via XML sur lequel on souhaite être notifié des différents clics qu'il subit. La technique de récupération de l'évènement consiste tout d'abord à initialiser un bouton avec un identifiant (afin de pouvoir en récupérer une référence dans le code Java) :
1 2 3 4 5 6 |
|
On modifie ensuite le OnClickListener
de ce bouton grâce à la méthode setOnClickListener
de la classe View
:
1 2 3 4 5 6 7 8 9 |
|
Le problème d'une telle technique est qu'il est assez rébarbatif pour le développeur de devoir répéter ce code à chaque vue sur laquelle on souhaite recevoir des notifications de clics. Heureusement Android 1.6 vient ajouter une fonctionnalité supplémentaire qui accélère le développement : l'attribut XML onClick
. Notre exemple se simplifie maintenant en quelques lignes de code XML (une seule et unique ligne supplémentaire) :
1 2 3 4 5 6 7 |
|
Grâce à ce code, Android va appeler la méthode handleClick
lorsque un clic a eu lieu sur le bouton. Le code Java nécessite quant à lui aucune modification si vous avez utilisé le modèle présenté ci-dessus (vérifier simplement que la méthode handleClick
est bien publique et qu'elle est définie dans l'Activity
utilisant le bouton. Simple n'est ce pas? A vous de jouer!