我正在製作簡單的測驗應用程序,現在有一個等待的問題。 當用戶點擊四個可能答案中的一個時,它應該變成橙色,兩秒後變成紅色或綠色(正確或錯誤答案)。這裏是我的代碼部分:Android:睡眠不適用於UI更改
public void clickButton(View v) {
changeButton(v, getResources().getDrawable(R.drawable.btn_orange));
try {
//Thread.sleep(2000);
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException r) {}
changeButton(v, getResources().getDrawable(R.drawable.btn_red));
}
我試過線程睡眠或睡眠TIMEUNIT,但在這兩種情況下,該按鈕將變爲默認的白色「點擊」階段,兩秒鐘後,紅色 - 完全跳過橙色部分。我檢查了其他顏色,所以這些顏色xml文件中沒有問題。問題可能在那個睡眠的某個地方,但我不知道我應該用什麼來延遲紅色,仍然是橙色。 thx諮詢
你不應該在主線程上睡覺,看看View.postDelayed() – panini 2014-09-18 22:04:48
其實你不得在UI線程上睡覺。 – rupps 2014-09-18 22:13:28