У меня есть функция простого таймера.Эта функция вызывается в OnCreate ().Когда я перехожу к другому занятию и возвращаюсь, мое действие с таймером воссоздается, и таймер начинает работать в 2 раза быстрее.
Я пытался убрать removeCallbacks из моего Runnable, но он не работает.
КакМогу ли я убить свой Runnable, чтобы предотвратить суммирование?
private fun onTimerStart(){
ed.putBoolean("thread", true).apply()
mRunnable = Runnable {
seconds = sp.getLong("SECONDS",0)
try {
if (seconds!=0L){
startRun = true
btnStartEnd.text = getString(R.string.stop)
}
}catch (ex:Exception){}
val hours = seconds/3600
val minutes = (seconds%3600)/60
val secs = (seconds%60)
val time = String.format("%d:%02d:%02d", hours, minutes, secs)
txtClock.text = time
if (startRun){
seconds++
ed.putLong("SECONDS",seconds).apply()
}
mHandler.postDelayed(this,1000)
}
mHandler.postDelayed(mRunnable,1000)
}