Я новичок в kotlin. Я пытаюсь создать задачу, которая будет повторяться каждые 2 секунды. Поэтому я создал что-то вроде этого.
val handler = Handler()
handler.postDelayed(Runnable {
// TODO - Here is my logic
// Repeat again after 2 seconds
handler.postDelayed(this, 2000)
}, 2000)
Но в postDelayed (this) выдает ошибку - required Runnable!, found MainActivity
. Я пробовал даже this@Runnable
, но это не сработало.
Но когда я пишу такую же функцию, как эта, она работает
val handler = Handler()
handler.postDelayed(object : Runnable {
override fun run() {
// TODO - Here is my logic
// Repeat again after 2 seconds
handler.postDelayed(this, 2000)
}
}, 2000)
Так почему ключевое слово this
не не работает в первой функции, но во второй она работает хорошо?