Question

J'ai deux vues (une dérivée de SurfaceView une autre de ImageView) chacune encapsulée dans une mise en page de trame, et chaque vue implémente un OntouchListener, qui est défini comme l'ontouchListener de la vue elle-même. Ces deux vues (dispositions) n'ont pas d'intersection à l'écran.

Cependant, je ne peux pas faire travailler ces deux auditeurs ensemble.

Par exemple, s'il y a une action_down sur la vue A (écouteur a), alors l'auditeur B ne réagira pas (et non les événements envoyés à B, même le mouvement suivant est en vue b), seul l'auditeur A réagit jusqu'à ce qu'il n'y ait pas d'événements tactiles.

C'est-à-dire que même l'auditeur A est défini uniquement comme l'OntouchListener pour la vue A, il gérera chaque événement sur l'écran entier, et d'autres auditeurs sont inhibés.

C'est étrange pour moi, des explications? Deux onTouchListeners peuvent-ils exister ensemble à l'écran?

Était-ce utile?

La solution 2

Android fonctionne comme décrit ici

Autres conseils

Bien sûr, ils peuvent, comme deux boutons avec leurs propres auditeurs. Essayez de définir les auditeurs sur vos vues:

frameLayout.setOnClickListener();
imageView.setOnClickListener();

De cette façon, ils ne devraient réagir que sur les événements venant à leurs propres auditeurs. J'espère que cela t'aides.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top