我有一个扩展MapActivity的活动。但是当我点击地图时,onTouchEvent永远不会被调用。为什么是这样?onTouchEvent从未调用过MapActivity
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("temp", "onTouchEvent");
return true;
}
编辑:我现在有这两个方法在一个custum创建的ItemizedOverlay来捕捉我的事件。 当我点击一个覆盖图时,第一个被调用。但是当我触摸地图时,第二个(onTouchEvent)从不会被调用。
@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;
}
“当触摸屏事件没有被其下的任何视图处理时调用”是的,这确实是问题,但我无法添加自定义监听器然后,我不得不改变MapActivity类,看起来像是必须有一个更简单的方法来实现这一点。 – Vincent 2011-04-19 15:25:46
你想用触摸事件做什么? – 2011-04-19 15:26:50
我在尝试改变逐项叠加的位置。首先,我在一个扩展了ItemizedOverlay的自定义类中捕获onTap事件(就像在google教程中一样)。然后我尝试在MapActivity类中获得新的touchEvent – Vincent 2011-04-19 15:28:36