2015-06-12 48 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