aSyncTask 在 Nexus S 上崩溃,但在 Droid 1 上不崩溃

发布于 2024-12-08 06:25:33 字数 511 浏览 0 评论 0原文

我有一个用于加载屏幕的 aSyncTask。在我的 doBackground 中,我必须

                    mCampusMap = (CampusMap) findViewById(R.id.CampusMap);      
                mCampusMap.setVisibility(View.VISIBLE);

启动 openGL 视图,该视图需要 5 秒左右的时间来加载。

在 Droid 上一切正常,但在 Nexus S 上我收到以下错误:

10-05 17:56:02.906: ERROR/AndroidRuntime(876): Caused by: android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

I have an aSyncTask used for a loading screen. In my doBackground, I have

                    mCampusMap = (CampusMap) findViewById(R.id.CampusMap);      
                mCampusMap.setVisibility(View.VISIBLE);

to fire up my openGL View which takes 5 seconds or so to load.

Everything works fine on the Droid, but on a Nexus S i get the following error:

10-05 17:56:02.906: ERROR/AndroidRuntime(876): Caused by: android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

围归者 2024-12-15 06:25:33

如果您在 Activity 类中定义 AsyncTask 类,请尝试以下操作:

runOnUiThread(new Runnable() {
    public void run() {
        ((CampusMap) findViewById(R.id.CampusMap)).setVisibility(View.VISIBLE);
    }
});

If you define the AsyncTask class inside your Activity class, try this:

runOnUiThread(new Runnable() {
    public void run() {
        ((CampusMap) findViewById(R.id.CampusMap)).setVisibility(View.VISIBLE);
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文