Я использую обработчик для отображения таймера в элементе списка RecyclerView
. Когда я нажимаю обратно Activity
, на котором находится RecyclerView
, полностью уничтожается, Handler()
все еще работает в фоновом режиме. Обработчик создается и инициируется в ViewHolder
. Есть ли способ удалить обратные вызовы из обработчика из самого ViewHolder
?
Пример кода My ViewHolder
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), CustomRunnable.CustomRunnableListener{
private val handler = Handler()
lateinit var customRunnable: CustomRunnable //custom runnable for my timer logic
fun bind(position: Int, listModelClass: ModelClass?){
if(someCondition){
customRunnable = CustomRunnable(handler, this, textView, listModelClass)
handler.postDelayed(customRunnable, 1000)
}
}
override fun onTimerFinish(listModelClass: ModelClass) {
// I get this call back when the timer finishes
handler.removeCallbacks(customRunnable)
}
}