У меня проблема с OnTouchListener. Я создал пользовательскую кнопку. Эта кнопка корректно работает с событием onClick. Но это не работает с событием onTouch.
Это моя пользовательская кнопка. Мне нужны только два варианта: кнопка и кнопка_нажатия.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button2_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/button2_pressed"
android:state_focused="true" />
<item android:drawable="@drawable/button2" />
Это мой код кнопки Ontouch. Когда я держу кнопку нажатой, звук воспроизводится и зацикливается. Когда я отпускаю кнопку, звук останавливается. Этот код работает правильно, но не работает с моей пользовательской кнопкой. Поэтому, когда я кладу палец на эту кнопку, то, когда я отпускаю кнопку или кратковременно удерживаю кнопку, в каждом случае эта кнопка показывает мне только button2.png (над пользовательским кодом кнопки)
pl6.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
n6=MediaPlayer.create(MainActivity.this, R.raw.audio4);
n6.start();
n6.setLooping(true);
return true;
case MotionEvent.ACTION_UP:
n6.stop();
n6.release();
break;
}
return false;
}
});
Это моя другая кнопка. это правильно работает. Это обычная кнопка, просто нажмите и играйте. Когда я нажал кнопку button2_pressed, появляется, а когда я не нажимаю кнопку2, появляется.
play2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
stopPlaying2();
m2=MediaPlayer.create(MainActivity.this, R.raw.sound2);
m2.start();
}
});
button2_pressed
продолжает отображаться. Вы можете попробовать закомментировать этот конкретный элемент, чтобы подтвердить. - person MH.   schedule 08.03.2015