我正在使用MapView. 我需要对用户的触摸事件做出反应。我尝试处理 onTouchEvent使用dispatchTouchEvent. 但这onTouchEvent不叫!当我将此代码添加到dispatchTouchEvent:
MarkerOverlay myMarker = new MarkerOverlay(marker,edTxtAlarmClockName.getText().toString());
mapView.getOverlays().add(myMarker);
mapView.invalidate();
Run Code Online (Sandbox Code Playgroud)
onTouchEvent叫做。为什么会这样以及如何描述overlay处理程序?
public class MainActivity extends MapActivity implements OnTouchListener{
private MapController mapController;
private MapView mapView;
private LocationManager locationManager;
private MyLocationOverlay myLocationOverlay;
private Context context;
public GeoPoint lastClickedPoint;
Dialog dialog;
EditText edTxtAlarmClockName;
ToggleButton tbOnOffAlarmClock;
boolean reClick ;
private int lastTouchX, lastTouchY;
private boolean hasMoved = false;
Button btnOk;
Button btnCancelDelete;
Button btnAlarmClockStop;
public int distance=50;
private int indexOfSelectedOverlay;
public …Run Code Online (Sandbox Code Playgroud)