Android setPressed поведение

Следующий код является попыткой симуляции нажатия клавиши:

button1.setPressed(true);
try {
Thread.sleep(500);
} catch(InterruptedException e) {
} 
button1.setPressed(false);

Выше ничего не делает для кнопки, но

button1.setPressed(true);

сама устанавливает кнопку в нажатом состоянии.
Почему первый фрагмент не влияет на кнопку?

1 ответ

Решение

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

Вместо этого вы можете попробовать что-то вроде;

class MyClass extends Activity ... {
  private final Handler _handler = new Handler();
  ...
  void somefunc() {
    button1.setPressed(true);
    _handler.postDelayed(new Runnable() {
      @Override
      public void run() {
        button1.setPressed(false);
      }
    }, 500);
  }
}

Удачи!

Другие вопросы по тегам