android - onFinish() CountDownTimer 方法太长?

标签 android timer countdowntimer

更新:2013 年 11 月 20 日:此问题仍未解决。

我正在制作一个 CountDownTimer 并且在 onFinish() 方法中,我显然做了太多的工作,因为最后一秒和完成之间的延迟时间比1 秒(这是我的滴答之间的延迟)。

这是我的代码。

mCountDownTimer = new CountDownTimer(GAME_LENGTH, 1000) {

public void onTick(long millisUntilFinished) {
                mCountDownTextView.setText("" + millisUntilFinished / 1000);
            }

            public void onFinish() {
                mCountDownTextView.setText("Game Over!");
                tl.setOnTouchListener(null);
                for (DotView dv : mAllDots) {
                    dv.setChangingColors(false, null, -1); // This is my own method
                }
                 }

问题是:有没有一种方法可以在 CountDownTimeronFinish() 方法中执行可能长时间运行的操作,而无需倒数第二个和最后一个报价之间的实际时间受到影响?

最佳答案

我遇到了同样的问题,我认为不是 onFinish() 中的代码导致了这个问题。

我解决了在 (millisUntilFinished/1000 == 1) 而不是 onFinish() 时执行操作的问题。

我还使用 mCountDownTextView.setText(String.valueOf((millisUntilFinished/1000) - 1)) 将 TextView 偏移一秒。

关于android - onFinish() CountDownTimer 方法太长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19882782/

相关文章:

java - AlertBuilder 方法调用中的上下文参数

Java:计时器(等待 x 秒)

swift - 如何对 Swift 定时器 Controller 进行单元测试?

android - 圆形进度条(用于倒数计时器)

android - 当我按下后退按钮时如何让 CountDownTimer 保持运行

java - 使用 Ruby 生成 Java 项目

android - Kotlin:应用程序不询问用户权限

android & libgdx - 如何对桌面和 android 项目只使用一次资源?

ios - iOS 中的形状动画

android - 在服务中未收到 CountDownTimer 回调