Adi*_*fyr 3 android task handler runnable kotlin
private val progressTask = Runnable {
runOnUiThread { if (!tvMessage.text.isEmpty()) tvMessage.text = "" }
pbLoading.progress++
when {
pbLoading.progress == 600 -> finalFunction()
pbLoading.progress % 20 == 0 -> runOnUiThread {
tvMessage.text = messages[pbLoading.progress / 20]
}
}
handler.postDelayed(this, 1000)
}
Run Code Online (Sandbox Code Playgroud)
这段代码给我this关键字下面的语法错误。说这个错误指向我的活动,而不是可运行的本身。我该如何解决?
为了this参考Runnable,请使用object语法而不是带有SAM转换的lambda :
val runnable = object : Runnable {
override fun run() {
println("$this runs in a runnable")
}
}
Run Code Online (Sandbox Code Playgroud)
它有点冗长,但这就是您要付出的代价。
| 归档时间: |
|
| 查看次数: |
3006 次 |
| 最近记录: |