CountdownTimer не работает должным образом (неправильное время) - PullRequest
0 голосов
/ 25 июня 2019

Я использую CountdownTimer в моем приложении для отображения оставшегося времени до определенного Date.Но Date составляет всего 2 часа от текущего времени, но если я конвертирую millisUntilFinished в часы, это говорит о 9 часах.Date в формате UTC.

remainingTimer = object : CountDownTimer(dateTime.time, 1000) {
            override fun onTick(millisUntilFinished: Long) {
                remTime = millisUntilFinished
                notifyChanged(PAYLOAD_UPDATE_REM_TIME)
            }

            override fun onFinish() {
                swapTimers()
            }

        }.start()

val hours = ((remTime / (1000 * 60 * 60)).rem(24))

1 Ответ

0 голосов
/ 25 июня 2019

Здесь вы должны указать время таймера, как долго (через 2 часа = 2 * 60 * 60 * 1000 миллис) вы хотите запустить если вы конвертируете дату в миллис, она не будет работать так, как вы хотите, так как она возвращает дату в миллис,

remainingTimer = object : CountDownTimer(2*60*60*1000, 1000) {
                override fun onTick(millisUntilFinished: Long) {
                    remTime = millisUntilFinished
                    notifyChanged(PAYLOAD_UPDATE_REM_TIME)
                }

                override fun onFinish() {
                    swapTimers()
                }

            }.start()

    val hours = ((remTime / (1000 * 60 * 60)).rem(24))
...