使用KTX处理程序扩展程序定期运行方法



更新:澄清,我正在寻找一个扩展程序以每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()
  }
}

相关内容

  • 没有找到相关文章

最新更新