首页 > 代码库 > android.view.ViewRoot$CalledFromWrongThreadException的解决办法

android.view.ViewRoot$CalledFromWrongThreadException的解决办法

android 是不允许子线程直接更新UI的,如果一定要在子线程直接更新UI就会出现android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.大概意思就是说 只有原来创建找个视图hierarchy的线程才可以修改修改它。

我的解决办法是使用Activity.runOnUiThread(Runnable),可以将更新UI的代码写在Runnable中,这样如果当前的线程是UI线程会直接运行,如果不是UI线程,会将Runnable示例发送至 UI线程中的MessageQuene中

 

android.view.ViewRoot$CalledFromWrongThreadException的解决办法