проблема с онкликом андроид

1

Я искал в Интернете, но не нашел ответа на мой вопрос. У меня есть кнопка, когда вы нажимаете ее, она будет воспроизводить звук. Проблема в том, что когда вы касаетесь кнопки на экране, она переходит в onClickListener() только после того, как кнопка была выпущена. Мне нужно, чтобы он запускал слушателя, когда кнопка нажата не тогда, когда она отпущена, потому что это вызывает задержку при воспроизведении звука. Я пробовал onTouchListener(), и он тоже не работал, потому что звук воспроизводится каждый раз, когда я перемещаю палец по кнопке. Я пробовал onKeyDown(), но он не будет работать для экранных кнопок. Есть идеи? Некоторая помощь будет оценена.

Спасибо

Теги:

2 ответа

2
Лучший ответ

Вы можете использовать OnTouchListener и проверить действие события:

public boolean onTouch (View v, MotionEvent event) {
  if (event.getAction () == MotionEvent.ACTION_DOWN) { // ...
  }
}
  • 0
    if(event.getAction() == MotionEvent.ACTION_DOWN){ Log.d("touching button------------------------", "YES"); } спасибо за помощь
0

Возможно, вы все еще можете использовать свою реализацию для onTouchListener(). Просто установите логический флаг, когда пользователь начнет касаться кнопки, тогда, когда он установлен true (это означает, что пользователь еще не отпустил кнопку), не воспроизводите звук. Когда пользователь отпускает кнопку (ACTION_UP), установите флаг обратно в значение false. Это означало бы, что вы готовы снова воспроизвести звук.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню