延迟重复协程

马力诺斯(Marinos K):

我正在寻找一种方法来启动一个线程,该线程将以伪代码使GUI元素永远闪烁:

while (true) {
  GUI element ON
  wait for 1s
  element OFF
  wait for 1s
}

我正在考虑一个递归处理程序链,如下所示:

val handler = Handler()
handler.postDelayed({
    Handler().postDelayed({ gui_element_on() }, 1000)
    Handler().postDelayed({ gui_element_off() }, 1000)
    handler.postDelayed(this,0)
}, 1000)

只是这是行不通的。我不知道该怎么做。而且我不确定这是否是最有效的方法。

马力诺斯(Marinos K):

我找到了此递归解决方案:

val handler : Handler = Handler()
val run: Runnable = object : Runnable {
    override fun run() {
        gui_element_on()
        handler.postDelayed({gui_element_off()}, 1000)
        handler.postDelayed(this, 2000)
    }
}
run.run()

在这种情况下,它可以解决问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章