更新:澄清,我正在寻找一个扩展程序以每1000毫秒运行一次功能,而无需两次使用handler.postDelayed
。
我最近开始使用Android-KTX Kotlin扩展。而且我遇到了处理程序扩展,这些扩展程序非常整齐地转换
handler.postDelayed(runnable, delayInMillis)
进入
handler.postDelayed(delayInMillis = 200L) {
// some action
}
我遇到的问题是如何转换以下代码,使用KTX扩展。甚至可能吗?
handler.postDelayed(object : Runnable {
override fun run() {
doSomething()
handler.postDelayed(this, 1000)
}
}, 1000)
这是core.ktx软件包的一部分
您需要确保它包含在gradle文件中
implementation "androidx.core:core-ktx:1.1.0"
或更多相关/最近的版本
这样做后,您可以转换:
handler.postDelayed(object : Runnable {
override fun run() {
doSomething()
}
}, 1000)
to
handler.postDelayed(delayInMillis = 200L) {
doSomething()
}
不止一次运行:
while true {
handler.postDelayed(delayInMillis = 200L) {
doSomething()
}
}