Как положить кнопку в нажатом состоянии в android

Моя проблема аналогична вопросу, опубликованному здесь. Я хочу, чтобы кнопка Android оставалась нажатой. Я не могу выполнить решение, потому что onClick будет вызываться, когда кнопка нажата с клавиатуры или трекбола, и мне нужно это обработать.

Я попытался установить button.setPressed(true); в onClick onClick, но он, похоже, не работает. Есть ли способ сделать это?

0
источник поделиться
2 ответа

Попробуйте отправить сенсорное событие на кнопку следующим образом:

MotionEvent down = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0);
yourButton.dispatchTouchEvent(down);
+1
источник

Попробуйте это, это сработает...

singIn.setOnTouchListener(new OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if(event.getAction()==MotionEvent.ACTION_DOWN) return true;
                    if(event.getAction()!=MotionEvent.ACTION_UP) return false;

                  //DO SOMETHING!!

                    singIn.setPressed(true);                    
                    return true;
                }


            });
+2
источник

Связанные вопросы


Похожие вопросы

Посмотрите другие вопросы по меткам или Задайте вопрос