Aller au contenu

[Résolu][Listener] Questions de débutants


Ov3rd0se

Recommended Posts

Bonjour je débute sur android et ya un point qui reste encore obscur c'est le listener. J'ai lu la doc android (avec un peu de difficulté ) mais j'ai pas trouvé la réponse à ma question (ou alors c'est que j'ai mal cherché).

Donc ma question est :

Quelle est la différence pour la méthode setonclicklistener à passer en arguments this ou new onclicklisterner() . Parce que si je met this. Dans ma méthode onView (view v), il me suffit de comparer v avec mes différents boutons. Donc quel est l'intérêt de faire un new onclicklistener()?

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Quelle est la différence pour la méthode setonclicklistener à passer en arguments this ou new onclicklisterner() . Parce que si je met this. Dans ma méthode onView (view v), il me suffit de comparer v avec mes différents boutons. Donc quel est l'intérêt de faire un new onclicklistener()?

Salut!

Je vais essayer de répondre.

- Tu peux faire un "maVue.setOnClickListener(this)" Lorsque ta classe implémente la méthode "OnclickListener". Regarde la signature de ta classe pour le savoir.

Si tel est le cas, tu dois alors redéfinir la méthode "OnClick" dans cette classe (avec un @Override avant). Et dans cette méthode, tu décris les actions que tu souhaites executer lors du clic.

Dans ce cas, si tu fais

maVue.setOnClickListener(this)

lors du clic sur "maVue", c'est la méthode "OnClick" de ta classe qui sera appelée.

- Concernant

maVue.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
   	//Tes actions...
   }
});

ta classe n'a pas besoin d'implémenter la méthode "OnClickListener" et donc, tu n'as pas besoin de redéfinir la méthode "OnClick".

Tout se fait entre les parenthèses. C'est a dire que tu appelles la classe "OnClickListener". Hors, on vient de le voir, pour l'utiliser, tu es obligé de redéfinir la méthode "OnClick", et Eclipse t'impose de le faire entre les parenthèses...

Finalement, tout dépend de ton utilisation. Si les actions à effectuer lors du clic de toutes tes vues sont les mêmes, tu as plutôt intéret à opter pour la première solution.

Mais si tu as des actions spécifiques à chaque vue, là, tu n'auras pas d'autre choix que de passer par la seconde solution...

N'hésite pas si tu as d'autres questions ou si ce n'est pas clair... J'essayerais de te répondre au mieux.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...