我正在尝试使用 Movie
对象播放 gif,它需要我调用 invalidate()
方法。但是,每当我调用此方法时,都会收到以下错误:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
如何解决这个问题以及为什么会发生
最佳答案
在 UI 线程上运行指定的操作。
我想推荐阅读这个网站runOnUiThread
runOnUiThread(new Runnable() {
@Override
public void run() {
// call the invalidate()
}
});
关于Android:只有创建 View 层次结构的原始线程在调用 invalidate() 时才能触摸其 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45414909/