android - Handler() 已弃用
问题描述
我正在尝试使用Kotlin & Coroutines在后台每秒更新一个搜索栏,但它说 Handler() 已被弃用,将它与 looper 一起使用,我很困惑如何使用handler、looper和kotlin 协程
我试图让它工作的代码
val myHandler: Handler = Handler()
myHandler.postAtTime(asyncSeekBar(), 1000)
此处显示 Handler() 已弃用
asyncSeekBar()
private fun asyncsSeekBar() {
CoroutineScope(Default).launch {
updateSeekBar()
}
}
但 asyncSeekBar 应该是 Runnable 因此显示和错误
类型不匹配。必需:可运行找到:单位
如果有其他更简单的方法,请建议
解决方案
您可以使用LifecycleScope
它每秒运行一次:
lifecycleScope.launch {
while (true) {
delay(1000)
updateSeekBar()
}
}
推荐阅读
- layout - 如何在 vaadin 水平布局上重叠两个组件。
- vba - 在连接单元格的情况下按字母顺序对列进行排序
- java - 有没有办法像 Java 中的模拟时钟指针一样旋转 Rectangles2D?
- hyperledger-fabric - HyperLedger 作曲家将 Rest 服务器暴露给外界
- css - Telerik Kendo Angular UI DropDownList 块调整大小
- typescript - 是否可以创建一个 Typescript 的子集,其中结果将具有健全的类型系统?
- mysql - 最小值函数返回最大值和最大值函数返回最小值
- java - 循环遍历具有交替元素的数组
- python - 如何将 printSchema 的结果保存到 PySpark 中的文件中
- php - 在 laravel 的重定向方法中添加 get 参数