写倒计时CountDown的正确姿势

倒计时

​申明​

private var countDownHandler = Handler()
var countDownTime = Constants.RETURN_TIME//自己设定的时间
private val countDown = object : Runnable {
override fun run() {
if (countDownTime >= 0) {
countDownHandler.postDelayed(this, 1000)//每秒
//执行逻辑
//可以动态的更新UI:还有5s返回之类的
} else {
//停止的逻辑
}
countDownTime--
}
}

​调用​

viewBinding.defaultPaneDefault.defaultPaneDefaultQr.setOnClickListener {
//点击事件逻辑
countDownTime = Constants.RETURN_TIME
countDownHandler.postDelayed(
countDown, 0)
}