I am trying to get the two countdown timers countDownP and countDown to run sequentially and multiple times in a for loop from 1 to totTurn times. Each timer I think is started and cancelled appropriately before the next timer is started. Yet the loop will only run through once, even though totTurn is set to 2 or to 3 in the for loop.
Any ideas why?
startButton.setOnClickListener {
for (i in 1 to totTurn) {
countDownP = object : CountDownTimer(prepTime, 500) {
init {
isClockRun = true
}
override fun onTick(msUntilFinished: Long) {
sUntilFinished = msUntilFinished / 1000
resultTextViewTimer.text = "${(sUntilFinished / 60)}:${(sUntilFinished % 60).toString().padStart(2, '0')}"
}
override fun onFinish() {
isClockRun = false
countDownP.cancel()
countDown = object : CountDownTimer(endTime, 500) {
init {
isClockRun = true
}
override fun onTick(msUntilFinished: Long) {
sUntilFinished = msUntilFinished / 1000
resultTextViewTimer.text = "${(sUntilFinished / 60)}:${(sUntilFinished % 60).toString().padStart(2, '0')}"
}
override fun onFinish() {
isClockRun = false
countDown.cancel()
}
}.start()
}
}.start()
}
}
question from:
https://stackoverflow.com/questions/65853833/countdown-timer-wont-restart 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…