android - 使用 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)
至
handler.postDelayed(delayInMillis = 200L) {
doSomething()
}
推荐阅读
- dart - 如何在飞镖中将字符串转换为列表?示例将字符串 `"["1", "2", "3", "4"]"` 转换为列表 `[1,2,3,4]`
- ios - 如何快速更改覆盖缺口区域的条形颜色(uikit)
- python-3.x - 使用 Keras 在层堆叠期间拆分输入特征
- python - 如何在 html 中放置 if 以使 'object.star' 的值同时等于 1 和 2
- macos - 如何在mac上以编程方式退出全屏应用程序并使窗口立即隐藏
- masstransit - 在 Masstransit 传奇中无法捕获异常
- model-view-controller - 根据惯例和最佳实践,当路由为“/posts/x/comments”时,评论“create”函数的正确控制器是什么?
- javascript - 如何在 jquery datepicker 中添加一个和多个叶子
- reactjs - React Formik - 在字段验证中使用 setstate
- javascript - 更改文本颜色或将其显示在路径顶部,以便路径不会覆盖它