由于某些原因,我的计时器不能一直递减计数,有时会回到前一秒左右。
例如:如果我在49秒开始计时,这就是打印出来的内容:
(以毫秒为单位)
48774
47374
48909 //不一致
47063
46212
44987
48426 //不一致
46294 //不一致
44738
43636
42410
...等等
我所做的全部以两个整数(分钟和秒)传递,并将它们组合在一起以获得毫秒总数。
这是我的代码:
new CountDownTimer(((min * 60 + sec) * 1000), 1000) {//total time, interval
public void onTick(long millisUntilFinished) {
System.out.println(millisUntilFinished);
//...
}
}
如何获得持续显示的毫秒数?
编辑:
我也尝试将其添加到onTick上,但仍然无法正常工作
if((int)prevMill > (int)millisUntilFinished){
prevMill = millisUntilFinished;
System.out.println(prevMill);
}
最佳答案
我发现onTick()是从上一个onTick()运行的时间开始计算的,这在每个刻度上都会产生一个微小的错误。
看到这篇文章:android CountDownTimer - additional milliseconds delay between ticks