我有一个ImageButton,当用户按下按钮时,我需要保持按下的状态,直到用户再次按下它。
我尝试使用此代码:
portada.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
portada.setPressed(!portada.isPressed());
return true;
}
});
但它不起作用,因为当我按下按钮时,按钮会连续多次从按下变为非按下,直到我停止按下按钮。这是错误的。
我该如何解决?
由于
答案 0 :(得分:1)
解决:
ImageButton portada.......
portada.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN) //esto es necesario para evitar que salte el evento muchas veces con una sola presión del dedo.
portada.setPressed(!portada.isPressed()); //invertimos el estado del botón
return true;
}
});