06-28 12:07:10.881: E/(930): {total=21 secs, date2=28-06-2012, time2=9:43:09 AM, time1=9:42:48 AM, date1=28-06-2012}
06-28 12:07:11.131: E/testing(930): exception:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
06-28 12:07:11.160: E/(930): {total=24 secs, date2=28-06-2012, time2=10:45:02 AM, time1=10:44:38 AM, date1=28-06-2012}
06-28 12:07:11.601: E/testing(930): exception:java.lang.IllegalArgumentException: The observer is null.
问问题
115 次
4 回答
2
- .ViewRoot$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图
看起来您正在尝试从非 UI 线程更新 UI 元素。
应该使用Handler
或runOuUIThread
活动的功能或Asynctask
根据您的需要
于 2012-06-28T06:41:14.737 回答
1
查看在单独线程中编写并尝试更新您的应用程序 UI 的代码。
您需要将该代码放入runOnUiThread
.
runOnUiThread(new Runnable() {
public void run() {
// COde to update UI.
}
});
于 2012-06-28T06:42:03.583 回答
0
您正在尝试在不是 UI 线程的线程上修改 UI 组件。看看runOnUiThread
从非 UI 线程更新 UI 组件。
于 2012-06-28T06:41:22.927 回答
0
您可以使用线程,但所有视图以及所有与视图相关的 API 都必须从主线程(也称为UI 线程)调用。要从后台线程执行此操作,您需要使用Handler。处理程序是一个对象,它将为您将消息发回 UI 线程。
于 2012-06-28T06:46:54.533 回答