2015-12-20 239 views
1

我正在尋找改變我的背景顏色一秒後按下按鈕來確認是否點擊了正確的按鈕。後綴,我想將顏色切換回黑色,但是當我使用Thread.sleep()時,它不會在線程休眠之前或之後更改顏色。還有其他建議嗎?android背景顏色變化

background.setBackgroundColor(Color.GREEN); 
thread.sleep(1000); 
background.setBackgroundColor(Color.BLACK); 
+0

什麼是背景名稱? –

+0

使用CountDownTimer執行此任務。 http://developer.android.com/reference/android/os/CountDownTimer.html – MyWay

+0

爲什麼不只是使用background.postDelayed()? – aelimill

回答

0

修改你的代碼是這樣的:

background.setBackgroundColor(Color.GREEN); 
Thread thread = new Thread() { 
    @Override 
    public void run() { 
     try { 
      while(true) { 
       sleep(1000); 
      } 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
    } 
}; 

thread.start(); 
background.setBackgroundColor(Color.BLACK); 

希望它可以幫助!

+0

這似乎沒有得到顏色變化,但仍然讓我保持點擊不像以前,當我沒有申報一個新的線程。儘管我可以提供更多的細節來幫助。目前,此代碼位於setOnClickListener的內部,如果正確的按鈕被按下,背景顏色將更改爲綠色一秒;如果按下了錯誤的按鈕,則會更改爲紅色。當我用thread.run()而不是thread.start()嘗試它時,它無限循環。插入此代碼的操作只是屏幕保持黑屏。 –