2012-08-14 25 views
25

Estoy trabajando a través de la depuración de algunas cosas de manejo táctil en Android, y estoy tratando de averiguar por qué el MotionEvent enviado a mi View onTouchListener contiene una acción cancelar. No he podido encontrar ninguna documentación sobre su causa, y esperaba que alguien pudiera indicarme la dirección correcta para depurar este problema: códigos de error, código fuente o algún conocimiento general.¿Qué causa un MotionEvent.ACTION_CANCEL en Android?

+0

¿Qué quieres decir con cancelar la acción? que código estas usando? – 0gravity

+0

@ 0gravity, me refiero si 'event.getAction() == MotionEvent.ACTION_CANCEL' – Phil

Respuesta

44

¿Es esto lo que busca:

"ACTION_CANCEL se produce cuando el padre toma posesión de la moción, por ejemplo cuando el usuario ha arrastrado suficiente a través de una vista de la lista que va a iniciar el desplazamiento en lugar de dejar presiona los botones dentro de él. Puede encontrar más información al respecto en la documentación del grupo de visualización: onInterceptTouchEvent. "

la esperanza de que es la respuesta que busca:

Recursos: Motion Event, Stack Overflow.

+2

También ocurre en la rotación, lo que no estaba claro para mí de lo anterior. – GDanger

-2

Cuando el arrastre se mueve fuera de la vista rect, obtienes ACTION_CANCEL

+0

Esto no ocurre en todo momento, incluso cuando el dedo ya está fuera de los límites de la vista tocada, ACTION_CANCEL no se llamará, pero ACTION_UP. –

+0

Esto está mal. @ 0gravity es correcto. – peacepassion

Cuestiones relacionadas