【问题标题】:Please can anyone explan this exception in LogCat请任何人都可以在 LogCat 中解释此异常
【发布时间】:2012-06-28 16:46:48
【问题描述】:
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.

【问题讨论】:

标签: android android-logcat


【解决方案1】:
  • .ViewRoot$CalledFromWrongThreadException: 只有原来的线程 创建视图层次结构的可以触及其视图

看起来您正在尝试从非 UI 线程更新 UI 元素。

应根据需要使用HandlerrunOuUIThread活动功能或Asynctask

【讨论】:

【解决方案2】:

查看在单独线程中编写并尝试更新您的应用程序 UI 的代码。

您需要将该代码放入runOnUiThread 的运行方法中。

runOnUiThread(new Runnable() {
     public void run() {
           // COde to update UI.
    }
});

【讨论】:

    【解决方案3】:

    您正试图在不是 UI 线程的线程上修改 UI 组件。查看 runOnUiThread 以从非 UI 线程更新 UI 组件。

    【讨论】:

      【解决方案4】:

      您可以使用线程,但所有视图以及所有与视图相关的 API 都必须从 主线程(也称为 UI 线程)调用。要执行此操作在后台线程中,您需要使用 HandlerHandler 是一个对象,它将为您将消息发回 UI 线程。

      【讨论】:

        猜你喜欢
        • 2011-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-01
        相关资源
        最近更新 更多