1

更新:澄清,我正在寻找一个扩展,例如每 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)
4

1 回答 1

1

这是 core.ktx 包的一部分

您需要确保它包含在您的 gradle 文件中

implementation "androidx.core:core-ktx:1.1.0"

或更相关/最新版本

完成后,您可以转换:

handler.postDelayed(object : Runnable {
    override fun run() {
        doSomething()
    }
}, 1000)

handler.postDelayed(delayInMillis = 200L) {
    doSomething()
}

于 2020-02-01T18:26:57.077 回答