java - CountDown Timer OnTick 方法在我给时间时不起作用

标签 java android kotlin timer countdown

I'm Running one count down timer for 15 minutes which is equals to 100%,

当我在应用程序中时,它对我来说很好用。 我正在做的是当我关闭应用程序时我正在保存开始时间并打开应用程序使用当前时间并计算剩余时间。 在启动倒数计时器之前,我将剩余时间交给 ontick 方法。在第一次报价时它显示正确但对于下一次报价,它从 15 分钟开始。谁能告诉我为什么会这样

 countDownTimer = object : CountDownTimer(900000, 1000) {
                override fun onTick(millisUntilFinished: Long) {
                    activity?.runOnUiThread {
                        val minutes = TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)
                        val seconds = TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))

                        val progress = 100 - ((((minutes / 15f) + (seconds / 900f)) * 100).toInt())

                        if (progress == 100) {
                            countDownTimer.cancel()
                            batteryHealthView.hideProgress()
                        }
                        saveData(progress, percentageString)
                    }
                }

                override fun onFinish() {
                    activity?.runOnUiThread {
                        countDownTimer.cancel()
                    }
                }
            }
            if (timeLeft!! > 0) {
                countDownTimer.onTick(timeLeft)
            }
            countDownTimer.start()

最佳答案

分享您调用 CountDownTimer(900000, 1000) 的代码似乎您每次都使用 900000,相反您需要重新计算剩余时间并在方法调用中传递该时间。

关于java - CountDown Timer OnTick 方法在我给时间时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53299363/

相关文章:

java - 使用正则表达式从字符串中提取带有调用文本的电话号码

java - 在对游戏位置进行编码时,最适合使用什么类型的变量? boolean/字符串/其他? (java)

android - 是否可以在 Android 中检测到被拒绝的调用?

android - Yandex mapkit android 气球设置文本颜色

intellij-idea - 是否可以将模板添加到数据类的 getter/setter 中?

kotlin - 是否可以使用私有(private)辅助构造函数在 Kotlin 中分配一个 val?

对于某些用户来说,Java Applet 启动速度非常慢?

java - 将 AsyncTasks 的结果放在一起

java - 图片上传到服务器的php错误响应= httpclient.execute(httppost);

java - 阻止 Android Spinner 删除列表