touchlisteners et textviews
-
18-09-2019 - |
Question
En fait, je suis en train de mettre en œuvre un ontouchlistener dans mon application Android (1.5). donc je mis à exécution les « ontouchlistener » dans la classe, puis je mets mon code dans le:
public boolean onTouchEvent (MotionEvent e){
//code
}
Le problème est que si je traîne sur une (par exemple) Spinner ou EditTextView que cette méthode est pas appelée. La seule façon de résoudre ce que je pensais sortir est d'ajouter un ontouchlistener à chacun des vues manuellement:
((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);
(tl est le ontouchlistener) Alors, est-il pas un moyen d'attraper l'événement touche avant qu'il ne soit à chacun de ces points de vue? merci à l'avance
Ripei
La solution
Que voulez-vous voulez faire - voulez-vous:
- détecter des gestes entiers dans certains
Activity
. - Detect touche seulement pour une donnée
View
Si vous voulez que l'ancien:
Jetez un oeil à cet exemple: détection de geste de rencontres sur le plan de la grille .
En fait, vous redirigez tous les événements tactiles enregistrés à un GestureDetector
.
Il comprend ce qui est exactement l'entrée d'utilisateur (une seule pression, appuyez deux fois, défilement, etc.) et appelle le rappel correspondant dans un SimpleOnGestureListener
, que vous devez mettre en œuvre.
Si vous voulez que celui-ci:
Vous pouvez:
- Remplacer la
onTouchEvent()
de la vue. - Mettre en œuvre et crochet
onTouchListener
(si vous voulez obtenir le toucher avant de le lui est envoyé).
Si vous souhaitez implémenter onTouchListener
, vous allez faire votre travail pas dans la méthode onTouchEvent()
, mais dans la méthode de onTouch()
de l'interface.
L'espoir qui aide.