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中