En onTouchEvent, ACTION_UP no funciona

Me gustaría leer cuando un jugador toca la pantalla, y cuando no.

@Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_UP){ //ACTION UP actionOnUP = true; Log.v("MC", "Up"); } if(event.getAction() == 0){ //ACTION DOWN actionOnUP = false; Log.v("MC", "Down"); } Log.v("MC", event.getAction() + " "); return super.onTouchEvent(event); } 

Este código, sí, funciona, pero sólo cuando el jugador toca la pantalla (ACTION_DOWN), pero cuando no toca la pantalla (ACTION_UP), no pasa nada: / LogCat

^ Esta es la forma de pantalla LogCat. Puedes ver: esto es solo ACTION_DOWN, pero nada sobre ACTION_UP. La clase se extiende Ver:

 public class MainClass extends SurfaceView implements SurfaceHolder.Callback { 

¿Me puedes ayudar?

EDIT: Mi juego se basa en este tutorial: http://www.droidnova.com/2d-tutorial-series-part-v848.html

Mi conjetura es que super.onTouchEvent está devolviendo false , ya que cualquier superclase que está llamando no se preocupa por el evento táctil.

Si devuelves false a onTouchEvent, el sistema operativo Android ya no te informará de ningún evento posterior en ese gesto. Si desea continuar recibiendo la información del evento táctil ( ACTION_UP por ejemplo), debe devolver el valor true al primer evento ACTION_DOWN .

¡La solución de "petey" funcionó para mí! Excepto algunos errores de sintaxis, corregidos aquí:

 int code = event.getAction() & MotionEvent.ACTION_MASK; if ((code == MotionEvent.ACTION_POINTER_UP) || (code == MotionEvent.ACTION_UP) || (code == MotionEvent.ACTION_CANCEL)) { 

Muchas gracias.

tratar :

 int action = event.getAction(); int code = action & MotionEvent.ACTION_MASK; if (code == MotionEvent.ACTION_POINTER_UP || code == MotionEvent.ACTION_UP || MotionEvent.ACTION_CANCEL) { 
  • Seguimiento de píxeles por píxeles en Android
  • Multitouch para Android obteniendo punteros erróneos y / o valores XY
  • Cómo setOnTouchListener () en un ListPreference?
  • OnTouchEvent onClick onLongClick llamadas
  • Cómo reconocer el carácter dibujado sobre lienzo
  • OnTouchListener de una vista vs onTouchEvent
  • OnTouchEvent no funciona
  • Cómo dibujar varias líneas con el dedo? (Androide)
  • Implementar Drag & Drop en pan de jengibre
  • cómo deslizar un evento button onTouch en android
  • Android ListView onTouchEvent no siempre da ACTION_DOWN
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.