Как исключить метод onTouch при вызове onDoubleTapEvent (в виде сетки)?

Мне нужен сенсорный слушатель в представлении календаря сетки. Предполагается, что для получения данных от перетаскивания по календарю требуется метод onTouch, а для удаления записей - onDoubleTapEvent. Я также реализовал пользовательский класс MyGestureListener, который расширяет SimpleOnGestureListener для этого. Некоторые части кода можно увидеть ниже:

calendarGridView.setOnTouchListener(new MyGestureListener(getApplicationContext()) {
    //Touch Listener on every gridcell
    public boolean onTouch(View v, MotionEvent event) {
    super.onTouch(v, event);
        ....
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN: {
            ....
            }
            case MotionEvent.ACTION_UP : {
            ....
            }
            case MotionEvent.ACTION_CANCEL: {
            ....
            }
        }
   //Save the data
   return true;
   }

   public boolean onDoubleTapEvent(MotionEvent event) {
   .... //delete the entry, save data
   return true;
   }

Класс слушателя пользовательских жестов:

public class MyGestureListener extends SimpleOnGestureListener implements OnTouchListener{

Context context;
GestureDetector gDetector;

public MyGestureListener(Context context) {
    super();

    if (gDetector == null) {
        gDetector = new GestureDetector(context, this);
    }
    this.context = context;
}

public MyGestureListener(Context context, GestureDetector gDetector) {

    if (gDetector == null) {
        gDetector = new GestureDetector(context, this);
    }
    this.context = context;
    this.gDetector = gDetector;
}

public boolean onTouch(View v, MotionEvent event) {

    return gDetector.onTouchEvent(event);
}

public GestureDetector getDetector() {

    return gDetector;
}

}

Проблема здесь заключается в том, что когда я дважды нажимаю на ячейку календаря, он вызывает onDoubleTapEvent, но также метод onTouch (с учетом ACTION_DOWN, ACTION_UP и снова ACTION_DOWN, ACTION_UP). Как я могу их разделить?

0 ответов

Другие вопросы по тегам