onTouchEvent nunca llamado MapActivity

Tengo una actividad que extiende MapActivity. Pero cuando toco el mapa, el onTouchEvent nunca se llama. ¿Por qué es esto?

@Override public boolean onTouchEvent(MotionEvent event) { Log.d("temp", "onTouchEvent"); return true; } 

editar: Ahora tengo estos 2 métodos en un custum creado ItemizedOverlay para capturar mis eventos. El primero se llama cuando toco una superposición. Pero el segundo (onTouchEvent) nunca se llama cuando toco el mapa.

 @Override protected boolean onTap(int index) { OverlayItem item = mOverlays.get(index); this.movement = true; Log.d("temp", "overlayItem tapped" + item.getTitle()); return true; } @Override public boolean onTouchEvent(MotionEvent event, MapView mapView) { this.movement = false; Log.d("temp", "overlayItem tapped finish"); return true; } 

3 Solutions collect form web for “onTouchEvent nunca llamado MapActivity”

El MapView asociado con un MapActivity casi seguramente maneja la vista para usted. Si miras los documentos para Activity#onTouchEvent() dice: "Se llama cuando un evento de pantalla táctil no fue manejado por ninguna de las vistas debajo de ella."

http://developer.android.com/reference/android/app/Activity.html#onTouchEvent(android.view.MotionEvent)

Supongo que lo que quieres hacer con ese evento táctil ya es manejado por el MapView , tal vez encontrar el lugar adecuado para ponerlo dentro de ese código?

Debe reemplazar dispatchTouchEvent

El manejador no se está ejecutando. No he encontrado la razón exacta de este comportamiento todavía. Probablemente la razón es que MapActivity no envía automáticamente el evento al MapView registrado o simplemente no recibe notificaciones sobre el evento, ya que el evento de movimiento realmente ocurre en el propio MapView y no en su MapActivity.

Lo que se puede hacer en su lugar es registrar el evento directamente en el MapView mapView.setOnTouchListener (new OnTouchListener () {

 public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return false; } }); 

… o para anular el dispatchTouchEvent de MapActivity (MotionEvent). Lo que hay que tener en cuenta, sin embargo, es transmitir adecuadamente el evento en este caso.

  • Añadir una imagen a Android MapView
  • Eliminar todas las superposiciones
  • Cómo establecer el nivel de zoom MapView en onCreate ()?
  • Cómo eliminar un solo marcador con Google Maps V2?
  • Mostrar una simple etiqueta de texto / burbuja de descrption cuando el usuario hace tapping en un objeto OverlayItem en MapView
  • Android: no se pudo encontrar información sobre el proveedor de com.google.settings en el ejemplo de MapView
  • MapActivity no se puede resolver con un tipo
  • El desplazamiento y el zoom de MapView es lento después de agregar muchas superposiciones
  • Android MapView getMap () devuelve null
  • Cerrar el globo mostrado en MapView
  • NPE utilizando Google maps services en mapView.onCreate (...)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.