Android Motion Event Fires 2 раза - PullRequest
       1

Android Motion Event Fires 2 раза

0 голосов
/ 28 апреля 2020

Я хочу воспроизвести 1 звук в ACTION_DOWN и другой звук в ACTION_POINTER_DOWN. Но когда я касаюсь двумя пальцами, ACTION_DOWN и ACTION_POINTER_DOWN запускаются и воспроизводят 2 звука одновременно. Я решил эту проблему раньше, но не могу вспомнить, как я это сделал. Код ниже воспроизводится только когда 2 касания происходит за 0,2 секунды. Я не могу получить ACTION_DOWN воспроизведение звука без стрельбы, когда ACTION_POINTER_DOWN активирован. Я не могу найти правильный путь, пожалуйста, ведите меня. Заранее спасибо.

Long touch1 = 0l;
Long touch2 = 0l;

key1.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        int action = event.getActionMasked();
        String actionString;
        switch (action) {
            case MotionEvent.ACTION_DOWN:
                actionString = "DOWN";
                touch1 = System.nanoTime();
                break;
            case MotionEvent.ACTION_POINTER_DOWN:
                actionString = "PNTR DOWN";
                touch2 = System.nanoTime();
                if(touch2 - touch1 < 280000000){
                    soundPool.play(sound2, 1, 1, 0, 0, 1);
                    touch1 = 0l;
                    touch2 = 0l;
                }
                break;
        }
        return true;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...