Я работаю над классом Android, который расширяет MapActivity.Я установил OnTouchListener, и все работает нормально для первого MotionEvent.После первого MotionEvent система прекращает генерировать MotionEvents или получать их или оба.Кто-нибудь знает, что я должен делать, чтобы получать MotionEvents?Спасибо.
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapView.setOnTouchListener(new View.OnTouchListener( ) {
@Override public boolean onTouch(View v, MotionEvent event) {
Log.i(TAG, "onTouch called");
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.i(TAG, "ACTION_DOWN: x = " + event.getX() + ", y = " + event.getY());
break;
case MotionEvent.ACTION_UP:
Log.i(TAG, "ACTION_UP: x = " + event.getX() + ", y = " + event.getY());
break;
case MotionEvent.ACTION_CANCEL:
Log.i(TAG, "ACTION_CANCEL: x = " + event.getX() + ", y = " + event.getY());
break;
case MotionEvent.ACTION_OUTSIDE:
Log.i(TAG, "ACTION_OUTSIDE: x = " + event.getX() + ", y = " + event.getY());
break;
case MotionEvent.ACTION_MOVE:
Log.i(TAG, "ACTION_MOVE: x = " + event.getX() + ", y = " + event.getY());
break;
}
v.onTouchEvent(event);
return true; // I also tried return false here, that didn't fix anything
}
});