Kotlin 在不同时间暂停计时器

Kotlin pause chronometer at different times

我正在尝试在 kotlin 中开发一个带有计时器的应用程序,当 te chrono 达到某些条件时,我需要做几件事,但我做不到,我也不知道为什么

这是我的应用程序的 setOnChronometerTickListener

chrono?.setOnChronometerTickListener {
        if (chrono?.base == 180000L && !inPriority) {
            startStopChrono()
            showWinner()
        } else if (chrono?.base? == 30000L && inPriority) {
            println("EEEEEEEEE")
            startStopChrono()
            showWinner()
        }
    }

问题是当计时在 30 秒内且条件为真时,不要 运行 方法,以及 3 分钟条件

谢谢大家

我认为你不应该使用 base,这是解决方案:

chrono?.setOnChronometerTickListener {
    val elapsed: Long = SystemClock.elapsedRealtime() - it.base
    if (elapsed >= 180000L) {
        println("Elapsed 3 minutes")
    } else if (elapsed >= 30000L) {
        println("Elapsed 30 seconds")
    }
}

根据DocumentationgetBase()return时间从setBase(),如果不设置将returnSystemClock.elapsedRealtime作为时基。