2012-01-06 68 views
0

下面的代碼是模擬按鍵敲擊的嘗試:的Android setPressed行爲

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

上面並沒有在所有的按鈕,但

button1.setPressed(true); 

自行設定按鈕,它的按下狀態。
爲什麼第一個片段對按鈕沒有影響?

+0

如果您還試圖執行Button的OnClickListener,請記得調用button1.performClick()。 (但也許你只是刪除那部分代碼,使代碼更清晰):) – YuviDroid 2012-03-20 09:56:42

回答

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); 
    } 
} 

祝你好運!