我正在使用下面的代码,但是当我将CountDownTimer(30000,1000)更改为CountDownTimer(30000,500)时,唯一发生的是分数速度增加,但计时器的计数速度不快。为什么不呢?
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
score + 10;
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}开始();
答案 0 :(得分:2)
更改“&#39”时,计时器的计数速度不会更快。滴答率达到500毫秒。它'时间设置为30000ms,这是30秒,所以它不会改变。
您更改了滴答率,但对于您的TextView
,您仍然使用millisUntilFinished / 1000
,每秒仍然显示30到0。
如果你写得如下,你会看到它仍然是30秒,但从60开始计数到0,每个滴答0.5秒。
new CountDownTimer(30000, 500) {
public void onTick(long millisUntilFinished) {
score += 10;
t.setText("seconds remaining: " + millisUntilFinished / 500);
}
public void onFinish() {
t.setText("done!");
}
}.start();
如果您想要更快地计算,则必须更改总的毫秒数,而CountDownTimer