今天我開始寫一個簡單的android應用程序。這個想法是,按下按鈕時,調用方法「click(View v)」女巫,將TextField的背景改爲1秒後的隨機顏色,比如說30次暫停線程週期(android)
(長篇小說:30種不同的背景顏色以1秒爲間隔變化)。
這裏是我有:
public void click(View v) {
for(int i = 0; i >= 30; i++){
Random rand = new Random();
final int red = rand.nextInt(255);
final int green = rand.nextInt(255);
final int blue = rand.nextInt(255);
final TextView tf = (TextView) findViewById(R.id.textView1);
// SLEEP 1 SECOND HERE ...
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
tf.setBackgroundColor(Color.rgb(red, green, blue));
}
}, 1000);
}
}
但是,當我按下按鈕沒有任何反應。作爲初學者,我會非常感謝任何建議如何解決這個問題。
感謝您的改進,但不幸tf.invalidate()不適用於我。但是,當我刪除for循環它正常工作(在按鈕按下1秒後,背景顏色變化,一次。) – user3578760