Как держать одну кнопку ImageButton нажатой, когда пользователь нажимает на нее? - PullRequest
0 голосов
/ 07 марта 2012

У меня есть ImageButton, и мне нужно следить за состоянием кнопки, когда она нажимается, когда пользователь нажимает на нее, до тех пор, пока пользователь не нажмет на нее снова.

Я пробовал с этим кодом:

        portada.setOnTouchListener(new OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            portada.setPressed(!portada.isPressed());
            return true;
        }                       
    });

Но это не работает, потому что когда я нажимаю кнопку, кнопка непрерывно меняется с нажатой на не нажатую, пока я не перестану нажимать кнопку.Он работает неправильно.

Как я могу решить это?

Спасибо

1 Ответ

1 голос
/ 08 марта 2012

Решено:

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;
            }                       

        });
...