0

以下代码尝试模拟击键:

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

以上对按钮没有任何作用,但是

button1.setPressed(true);

本身将按钮设置为按下状态。
为什么第一个片段对按钮没有影响?

4

1 回答 1

0

回复晚了,但我猜是因为你阻塞了 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);
  }
}

祝你好运!

于 2012-03-20T09:30:08.540 回答