android - 暂停和恢复 Android 倒计时器

标签 android countdowntimer

我有一个自动启动的 Android 倒计时器。我需要暂停并恢复它。我见过其他解决方案,但它们不起作用。我的代码是:

class Timer extends CountDownTimer
{
    public Timer(long millisInFuture, long countDownInterval)
    {
        super(millisInFuture, countDownInterval);
        timerTimedOut = false;
    }

    @Override
    public void onFinish() {
        if(timerTimedOut){
            doSTH();
        } else {
            doSTHElse();
        }

        this.start();
    }

    @Override
    public void onTick(long millisUntilFinished)
    {
        timerShow.setText(Long.toString(millisUntilFinished / 1000));

    }
    public void stop(){
        timerTimedOut = true;
        this.cancel();
        onFinish();
    }
}

我应该怎么做才能暂停和恢复?

最佳答案

我一直在处理这个问题,在尝试了很多方法之后,我找到了这个解决方案。在这里您可以找到 Android CountDownTimer 类的一个很好的替代方案: https://gist.github.com/bverc/1492672

您只需创建一个名为 CountDownTimer2 的新类,然后粘贴该代码。然后,使用它代替普通的 CountDownTimer 类,例如:

 CountDownTimer2 cdt = new CountDownTimer2(30000, 1000) {
        @Override
        public void onTick(long millisUntilFinished) {

            //Whatever you want to do onTick


        }

        @Override
        public void onFinish() {
            Log.i(TAG, "Timer finished");
        }


    };

    cdt.start();

}

然后你只需要通过

cdt.pause();

cdt.resume();

希望有帮助。

关于android - 暂停和恢复 Android 倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35951457/

相关文章:

java - 什么可能导致 RecyclerView 中的计时器闪烁?

android - 如何仅在未发布的生产 apk 之后使应用程序可用于测试

android - 如何在 Play 商店为我的应用设置允许自动更新功能

java - 等待webview中的javascript完成以继续Android Java

android - 倒数计时器不显示剩余天数

ios - 在 Swift 中使用 NSTimer 的几个小数槽的倒计时

android - 如何在 Android 中使用单元测试或仪器测试来测试警报管理器

Android 无法显示 ProgressDialog

android - reddit 手机应用程序如何在发送新消息时自动更新回收器? [包括 GIF]

Android CountDownTimer 对于 textView 更新来说太快了