Aller au contenu

Combinaison de 2 listeners graphiques


seli17

Recommended Posts

Bonjour,

j'ai un petit souci avec les listeners sur un composant graphique (TextView) présent dans mon RelativeLayout.

Voila mon but initial était de colorer le texte du TextView lors d'un press sur ce dernier, et aller sur une autre vue en cliquant sur celui ci.

sachant que le OnClickListener ne gère pas le press, et que le OnTouchListener ne gère pas le release sur le layout du TextView (car le ACTION_UP peut être déclenché en dehors de la zone graphique du TextView si le ACTION_DOWN a été effectué sur ce dernier ...)

Comme tout développeur naïf, j'ai voulu combiner les deux, mais le OnTouchListener ecrase le OnClickListener pour des raisons que j'ignore encore (le fait de rajouter le OnTouch rend le OnClick non fontionnel).

Quelqu'un peut il me donner une solution (je cherche à coder de la manière la plus simpliste, donc j'aimerai éviter de contrôler les position (x,y) de mon event pour savoir si le release (ACTION_UP) a été effectué sur mon TextView ou ailleurs)

Merci pour toutes réponses

Lien vers le commentaire
Partager sur d’autres sites

Salut !

Tu peux nous mettre le source ? ^^

J'ai une petite idée mais je veux pas dire de c*nneries, je préfère voir le code avant :D

mon_txtView.setOnClickListener(new TextView.OnClickListener(){
           public void onClick(View v) {
                monLoggueur("test 1");
           }
       });

mon_txtView.setOnTouchListener(new TextView.OnTouchListener(){
           public boolean onTouch(View v, MotionEvent event) {
               switch (event.getAction()) {
                      case ACTION_DOWN :
                           monLoggueur("test 2");
                            break;
               }
               return true;
           }
       });

Alors dans ce cas, j'ai que OnTouch qui fonctionne, si je met ce dernier en commentaire, alors le OnClick devient fonctionnel ...

Lien vers le commentaire
Partager sur d’autres sites

Bon bin c'est bien ce que je pensais ;)

C'est tout simple, que tu utilises le onClick ou le onTouch, et que tu utilises ACTION_DOWN ou ACTION_UP, il suffit de tester par un if() si la vue concernée par l'évenement est ta TextView, si c'est le cas, alors traite ton évenement ;) Et du coup, je ne suis pas certain qu'il y ait un intérêt à implémenter les deux.

J'espère que je suis assez clair ^^

A plus

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...