我有一些由Timer任务每秒更新一次的视图。他们不能自己invalidate()
,因为“只有创建视图层次结构的原始线程才能触及其视图”。
有一个名为runOnUiThread
的函数,但是我需要一个Activity来运行它。
我该如何解决这个问题?
编辑:这是postInvalidate()
的用途吗?我如何保证失效和更新很快就会发生(如果UI线程不忙)?
答案 0 :(得分:2)
1)
这是postInvalidate()的用途吗?
是
使用此选项使非UI线程中的View无效。
invalidate()
用于更新Views
UI Thread
2)
我如何确保失效和更新很快就会发生 (如果UI线程不忙)?
同样来自文档的同一部分
导致在事件循环的后续循环中发生无效
所以我想这取决于你对“很快”的定义。正如文档所说,它应该发生在下一个事件循环