58 votes

onTouchevent() vs onTouch()

Après de nombreuses expériences avec onTouchEvent et onTouch, j'ai découvert que onTouch fonctionne partout où vous voulez (que ce soit dans une activité ou une vue) tant que vous avez déclaré l'interface et mis le Listener correctement ! D'un autre côté, onTouchEvent ne fonctionne qu'à l'intérieur d'une vue ! Ma supposition est-elle correcte ? Est-ce la vraie différence ?

0voto

Dave Hubbard Points 103

J'ai trouvé une autre différence. onTouchEvent ne semble pas obtenir les événements obsolètes MotionEvent.ACTION_POINTER_2_DOWN et MotionEvent.ACTION_POINTER_2_UP.

Bien sûr, ils sont assez vieux et nous ne devrions pas les utiliser.

C'est dans Android 5.1 api 22.

0voto

gor Points 956

onTouchEvent est une méthode mise en œuvre par l Voir , Activité et d'autres classes de base comme LinearLayout , etc. ..

public boolean onTouchEvent(MotionEvent event) {
    throw new RuntimeException("Stub!");
}

vous pouvez surcharger cette méthode par toutes les classes dérivées

alors que

onTouch() est défini par l'interface OnTouchListener {}

public interface OnTouchListener { boolean onTouch(View var1, MotionEvent var2); }

Vous ne devez donc en implémenter qu'un seul lorsque vous définissez cette interface pour une classe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X