MotionEvents срабатывания независимо от того, что в Android

У меня есть этот код для моих MotionEvents в Android:

@Override
public boolean onTouchEvent(MotionEvent event){

    int action = event.getActionMasked();

    switch (action){
        case MotionEvent.ACTION_UP:
            mGameview.moveUp(30);
            break;
        case MotionEvent.ACTION_DOWN:
            mGameview.moveDown(30);
            break;
    }

    return true;
}

Однако вместо того, чтобы эти вещи срабатывают только при перетаскивании пальца вверх/вниз, они оба происходят одновременно независимо от того, что я делаю в приложении, например, когда я нажимаю, перетаскиваю влево и вправо.

1 ответ

  1. Попробуйте получить действие:

    int action = event.getAction() & MotionEvent.ACTION_MASK;