作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个 View ,它们由计时器任务每秒更新一次。他们不能自己invalidate()
,因为“只有创建 View 层次结构的原始线程才能触及它的 View ”。
有一个函数叫 runOnUiThread
为此,但我需要一个 Activity 来运行它。
如何解决这个问题?
编辑:这就是 postInvalidate()
的用途吗?我如何保证失效和更新很快就会发生(如果 UI 线程不忙)?
最佳答案
1)
Is this what postInvalidate() is for?
是的
Use this to invalidate the View from a non-UI thread.
invalidate()
用于更新UI线程
上的Views
2)
How guaranteed am I that the invalidation and update will happen soon (if the UI thread isn't busy)?
也来自文档的同一部分
Cause an invalidate to happen on a subsequent cycle through the event loop
所以我想这取决于你对“很快”的定义。正如文档所说,它应该在下一个事件循环中发生
关于java - 如何从另一个线程使 View 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18637715/
我是一名优秀的程序员,十分优秀!