Android: no puede ver ACTION_MOVE / UP en onTouchEvent de un RelativeLayout
He registrado un oyente a un RelativeLayout, ver más abajo. Me gustaría añadir un poco de manejo de eventos personalizados,
mOnTouchListener = new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { final int action = motionEvent.getAction(); boolean ret = false; switch (action) { case MotionEvent.ACTION_DOWN: ret = doSth(motionEvent); break; case MotionEvent.ACTION_MOVE: ret = doSth(motionEvent); break; case MotionEvent.ACTION_UP: ret = doSth(motionEvent); break; } return ret; // returning false got me none of MOVE/UP events right here } };
Sin embargo, no puedo obtener ningún evento MOVE / UP a menos que se devuelva true.
- Prácticas recomendadas para la implementación de Android onClickListener
- Android: Añade escuchas de eventos a cada elemento de un ListView
- Mejor manera de manejar eventos en Android
- ¿Cómo puedo cambiar el texto de EditText sin activar el Text Watcher?
- Detectar evento de desplazamiento en el navegador de Android
Otro intento, me registré mismo oyente a un CheckBox, todo salió bastante bien.
¿Hay diferencia entre ViewGroup y Widget? ¿Propósito del diseño?
- El evento LongClick ocurre demasiado rápido. ¿Cómo puedo aumentar el tiempo de clic requerido para activarlo?
- Android: ¿cómo obtener algún evento de KeyPress con ejemplo?
- Crear un controlador personalizado de finalización / devolución de llamada para devolver objetos después de que se completa una solicitud HTTP
- ¿Cómo es posible contar el número de mensajes en cola en un Handler?
- OnTouch en MapView sólo se dispara la primera vez
- Implementar múltiples oyentes de eventos en el mismo fragmento - Android
- Manejo de un elemento de menú Haga clic en Evento - Android
- Cómo detectar un evento TOUCH con otro dedo mientras un ACTION_MOVE está en proceso
"Sin embargo, no puedo obtener ningún MOVE / UP eventos a menos que sea verdad."
Has respondido a tu propia pregunta. Si no devuelves true
indicando que te importan y están manejando el evento, el sistema no te enviará los eventos posteriores, porque has dicho al sistema que no te importa. Si necesita monitorear todo el ciclo de vida del evento táctil, debe devolver true
siempre.
- Longitud máxima de Android versionName / versionCode (Manifest)
- Osx maven running tests Excepción: java.lang.OutOfMemoryError lanzado desde el UncaughtExceptionHandler en el subproceso "main"