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作为时基。
我正在尝试在 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作为时基。