【问题标题】:Showing a progress dialog in Android app在 Android 应用中显示进度对话框
【发布时间】:2012-10-15 15:32:41
【问题描述】:

我想在名为myActivity 的活动中使用进度对话框。 我从活动中的一个方法启动它:

progressDialog = ProgressDialog.show(myActivity.this, "", "loading ...");

但什么也没有出现。为什么?

我也试过这条线:

progressDialog = ProgressDialog.show(myActivity.this, "", "loading ...",true);

结果相同。

【问题讨论】:

  • 您是否尝试添加实际标题?有什么崩溃吗?
  • 我只尝试了标题...但应用程序运行时没有崩溃!
  • 你会在某个时候忽略它吗?你在哪个线程?日志中没有任何内容吗?
  • 您是否在处理 UI 线程之前执行此操作,然后立即将其关闭?如果是这样,线程将不会随着对话框更新,直到它被解雇的大致相同时间。如果是这种情况,请将您的工作转移到 AsyncTask。

标签: android android-activity dialog progressdialog


【解决方案1】:

就这个

//Declare progressDialog before so you can use .hide() later!
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Loading...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.show();

【讨论】:

    【解决方案2】:

    请将可运行线程添加到您的代码中

    示例:https://abhiandroid.com/ui/progressdialog

    或查看此示例代码

    progressDialog.show(); // Display Progress Dialog
    progressDialog.setCancelable(false);
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                while (progressDialog.getProgress() <= progressDialog.getMax()) {
                    Thread.sleep(200);
                    handle.sendMessage(handle.obtainMessage());
                if (progressDialog.getProgress() == progressDialog.getMax()) {
                    progressDialog.dismiss();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }}).start();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多