今天我开始写一个简单的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