我在我的应用程序中实现了一个10-1秒倒计时器。我已经在全局声明它并在onCreate函数中实例化。 我实施的代码是:
timer = new CountDownTimer(10000, 1000) {
public void onTick(long millisUntilFinished) {
mcountdownText.setText("Time Remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
// my code.....
}
}.start();
有一个小问题,当我运行我的应用程序时,我不知道为什么有些情况下倒数计时器像10,8,7,6,5,4,3,2,1(这里)它跳过了9),有时从9,8,7,6,5,4,3,2,1秒开始正常工作。 如果有人能帮我解决这个错误,那就太好了。 感谢。
答案 0 :(得分:0)
没有直接的答案,因为计时器应该可以正常工作。 原因可能是异步执行的进程和其他任务,并且会中断计时器的进程。 但是计时器在不同的过程中运行,所以很可能不是这样。
答案 1 :(得分:0)
答案 2 :(得分:-1)
也许你应该在启动CountdownTimer之前有一个延迟......
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
timer = new CountDownTimer(10000, 1000) {
public void onTick(long millisUntilFinished) {
mcountdownText.setText("Time Remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
// my code.....
}
}.start();
}
}, 1000); // = 1 sec, you can try less if you want to