следующий код должен обрабатывать события ACTION_DOWN и ACTION_UP для кнопки с именем clash. Идея состоит в том, что однажды if / else определит, что событие onTouch было вызвано конфликтом, и оператор switch затем определит, что делать, основываясь на действии. я не знаю, если проблема в том, что операторы switch не возвращают true, и это может быть связано с проблемой. когда я добавляю возврат, eclipse говорит, что код недоступен, чего я не понимаю. У меня сложилось впечатление, что вы не можете выйти из выключателя без перерыва.
На самом деле происходит то, что первый звук зацикливается, но кажется, что код никогда не обнаруживает действие, когда кнопка отпущена, и поэтому звук играет вечно. любая помощь будет оценена.
public boolean onTouch(View v, MotionEvent event) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.clash);
if (v.getId() == R.id.clash){
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
mp.setLooping(true);
mp.start();
break;
case MotionEvent.ACTION_UP:
mp.pause();
break;
}
}
return true;
}
});