首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓进度DialogBox没有显示吗?

安卓进度DialogBox没有显示吗?
EN

Stack Overflow用户
提问于 2013-09-11 13:26:25
回答 1查看 109关注 0票数 0

我正试图在用户界面上显示一个ProgressDialog 5秒钟,以阻止UI,这样我的locationClient就可以在5秒后连接起来。

我正在取消对话框box.But,对话框根本没有显示,移动屏幕显示为3-4 seconds.Is,这是因为我在UiThread上运行这段代码?如果是的话,我可以遵循其他任何方法,停止5秒,然后执行挂起的代码。

我的线程代码如下:

代码语言:javascript
复制
public void startConnecting(final boolean isSearchWarnings) {
        mProgressDialog = ProgressDialog.show(this, "Please wait","Long operation starts...", true);
        MainActivity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i <= 5; i++) {
                    try {
                        if (mLocationClient.isConnected()) {
                            break;

                        } else {
                            Thread.sleep(1000);
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                }
                mProgressDialog.dismiss();
                if (isSearchWarnings) {
                    new getWarnings().execute(false);
                } else {
                    new getWarnings().execute(true);
                }
            }
        });

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-11 13:28:39

你有这个

代码语言:javascript
复制
   MainActivity.this.runOnUiThread(new Runnable()

然后

代码语言:javascript
复制
   Thread.sleep(1000);

您正在调用ui线程上的睡眠。这将阻止您不应该执行的ui线程。你会得到ANR。

http://developer.android.com/training/articles/perf-anr.html

如果您想造成延迟,请使用handler

give a delay of few seconds without using threads

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18742523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档