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.

  • Mapview NullPointerException android
  • Cómo cambiar el marcador de la superposición en el toque para Android?
  • Cómo manejar el evento onTouch para el mapa en Google Map API v2?
  • Path () - segmentos de color inteligentes
  • Android cómo obtener temprature de la ubicación en mapview
  • Cómo dibujar un camino en un mapa con el archivo kml?
  • ¿Por qué volver a recuperar Google Maps para Android usando datos KML ya no funciona?
  • Cómo eliminar un solo marcador con Google Maps V2?
  • ¿Cómo mostrar un mapa en una mapactividad de Android?
  • Android traza la ruta en un Mapview con dos POI-s
  • Cómo recuperar la ubicación del dispositivo actual y mostrarlo en el fragmento de mapa en un fragmento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.