我试图从asyntask线程调用invalidate()。我收到了这个错误:
10-18 15:14:30.469:ERROR / AndroidRuntime(889):引起:android.view.ViewRoot $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触及其视图。
我使用过的行是:
mainClass.myMapView.invalidate(); //其中mainClass =主UI类
有人可以建议我的错吗?
感谢。
- 阿赫桑
答案 0 :(得分:2)
您不能从与UI线程不同的线程(因此其名称)执行与UI相关的任何操作。您应该在invalidate()
或onPostExecute()
中致电onProgress()
。或者,使用runOnUiThread()(基本上是publishProgress()
/ onProgress()
所做的事情。)