tipos studio programacion para móviles libro edición desarrollo curso aplicaciones android events touch return listener

studio - ¿Qué significa el valor booleano devuelto por un método de manejo de eventos en Android



programacion android pdf 2018 (5)

En Android, la mayoría de los métodos de escucha de eventos devuelven un valor booleano. ¿Qué significa ese valor verdadero / falso? ¿Qué resultará en los eventos posteriores?

class MyTouchListener implements OnTouchListener { @Override public boolean onTouch(View v, MotionEvent event) { logView.showEvent(event); return true; } }

En cuanto al ejemplo anterior, si devuelve true en el método onTouch , encuentro que cada evento táctil (DOWN, UP, MOVE, etc.) ha sido capturado según mi logView . Por el contrario, si el resultado es falso, solo se ha capturado el evento DOWN. Por lo tanto, parece que el retorno falso evitará que el evento se propague. Estoy en lo correcto ?

Además, en un OnGestureListener , muchos métodos tienen que devolver un valor booleano también. ¿Tienen el mismo significado?


De Android-document :

Nota: Android llamará a los manejadores de eventos primero y luego a los manejadores predeterminados apropiados de la definición de clase en segundo lugar. Como tal, la devolución verdadera de estos detectores de eventos detendrá la propagación del evento a otros detectores de eventos y también bloqueará la devolución de llamada al controlador de eventos predeterminado en la Vista. Así que asegúrese de querer finalizar el evento cuando vuelva verdadero.



El valor booleano determina si el evento se consume o no.

Sí, estás en lo cierto. Si devuelve falso, el siguiente oyente maneja el evento. Si devuelve verdadero, su oyente consume el evento y no lo envía al siguiente método.


Perdí casi un día en la resolución de problemas, pero me enteré de que mi función onTouch se llama 2 veces cuando se usa verdadero y 1 vez cuando se usa falso.


Si devuelve la true de un evento ACTION_DOWN , está interesado en el resto de los eventos en ese gesto. Un "gesto" en este caso significa todos los eventos hasta el ACTION_UP o ACTION_CANCEL final. Si ACTION_DOWN false desde un ACTION_DOWN significa que no desea que el evento y otras vistas tengan la oportunidad de manejarlo. Si tiene vistas superpuestas, esta puede ser una vista de hermanos. Si no, se disparará hasta el padre.