首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CountDownTimer回调速率错误?

CountDownTimer回调速率错误?
EN

Stack Overflow用户
提问于 2011-05-09 02:33:21
回答 1查看 152关注 0票数 0

在学习Android和java的过程中,我一直在构建一个小型的暗室计时器应用程序。

最终使用了CountDownTimer,因为它为我做了大部分工作。:{)

然而,我在类中遇到了一个看起来像是错误的东西。

我的初始结构使用onTick()回调来递减时间计数器,并更新剩余时间显示。如果我设置它,例如:

代码语言:javascript
运行
复制
            new CountDownTimer(60000, 100) {

                 public void onTick(long millisUntilFinished) {
                     mDisplayTime.setText(String.valueOf(millisUntilFinished)/1000);
                     timeTenths -= 1;
                     updateDisplay();
                 }

                 public void onFinish() {
//                   mDisplayTime.setText("Done!");
                 }
              }.start();

总的超时时间(60秒)恰到好处,我的秒表在半秒之内。

但是,显示的计数在时钟的3.0秒时停止。

通过实验,我发现在onTick()事件中始终有5%的“短缺”。

我可以将第二个参数更改为950毫秒,但这是一个丑陋的杂乱无章...

最后,我更改了onTick()以显示实际的millisUntilFinished,这很好,同时也消除了我的计数器。

这是CountDownTimer()的已知问题吗?

戴夫

EN

回答 1

Stack Overflow用户

发布于 2011-05-09 02:47:06

在给谷歌打电话之前,你用LogCat检查过了吗?也就是说,在您的onTick方法中,您可能希望调试millisUntilFinish为您带来的东西,而不仅仅是依赖于TextView。此外,除非我理解错误,否则您可能不得不考虑onFinish()作为您的最后一个“滴答”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5929420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档