2015-06-12 51 views
0

我一直在使用仿真器与下面的代码按特定按钮button.setPressed(真)突然不工作

redBut.performClick(); 
      redBut.setPressed(true); 
      redBut.invalidate(); 
      redBut.setPressed(false); 
      redBut.invalidate(); 

使用日志报表,我肯定知道这段代码被调用,所以并不是代码被跳过。

在我的模拟器上,按钮似乎被按下,就好像用户按下了它一样。现在在一个真正的Android设备上,该进程正在运行,但按钮没有改变。问题是什么?

回答

1

编写代码如下 -

 redBut.performClick(); 
     redBut.setPressed(true); 
     redBut.invalidate(); 
     new Handler().postDelayed(new Runnable() { 
     @Override 
      public void run() { 

       redBut.setPressed(false); 
       redBut.invalidate(); 
      } 
     }, 500); 
+0

http://developer.android.com/reference/android/os/Handler.html – NehaK

+0

优秀谢谢你。 – Alex