【问题标题】:CountDown Timer OnTick method Not Working when I give TimeCountDown Timer OnTick 方法在我给时间时不起作用
【发布时间】:2018-11-14 11:37:42
【问题描述】:
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()

【问题讨论】:

    标签: java android kotlin timer countdown


    【解决方案1】:

    分享代码你是如何调用的CountDownTimer(900000, 1000) 看起来你每次使用900000,相反你需要重新计算剩余时间并在方法调用中传递那个时间。

    【讨论】:

    • 我只是在一个普通方法中调用的整个代码,我声明的倒计时变量( private lateinit var countDownTimer: CountDownTimer)和我正在调用的方法是( fun countDownTimer(activity: FragmentActivity ?,batteryHealthView:BatteryHealthCheckView,timeLeft:长?))剩下的时间不过是我正在经过的重复时间,每次我需要从 0 开始继续进度
    • 你不需要每次都传900000,你需要在离开应用时存储花费的时间,当你回到应用时重新计算剩余时间并在构造中传递该时间
    • 谢谢它现在每次我发送剩余时间并给出正确的值时都能正常工作
    猜你喜欢
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    相关资源
    最近更新 更多