【问题标题】:Android: ProgressDialog not showing immediatelyAndroid:ProgressDialog 没有立即显示
【发布时间】:2012-07-27 23:40:07
【问题描述】:

我在 android 上显示 progressDialog 时遇到问题。它确实显示在屏幕上,但在真正显示对话框之前需要几秒钟。

这是我为显示对话框所做的代码

Handler saveHandler = new Handler() {

                @Override
                public void handleMessage(Message msg) {
                    GallerySaveActivity.this.Submit(progress);

                    Button btn_next = (Button) findViewById(R.id.btn_next);
                    btn_next.setEnabled(true); 
                }
            };
            progress.showDialog(saveHandler, "", "Accessing Facebook ...");
            Thread progress_thread = new Thread(progress); 
            progress_thread.start();

我是否必须在 Thread 对象上做任何额外的工作才能立即显示对话框而不会有任何延迟。

【问题讨论】:

  • 为什么需要额外的线程? ProgressDialog 应该在 UI 线程中运行...您可以发布您的进度对话框创建例程吗?
  • stackoverflow.com/questions/2798443/… 如果操作繁重,我会这样做。但它不应该延迟显示对话框。

标签: android multithreading delay progressdialog


【解决方案1】:

考虑使用AsyncTask:在onPreExecute() 中显示您的对话框,并在doInBackground() 中执行您的后台任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多