【问题标题】:Create global ProgressDialog创建全局 ProgressDialog
【发布时间】:2016-02-25 06:41:46
【问题描述】:

我创建了用于在另一个类中显示自定义进度条的通用函数。当我调用此函数时,将显示对话框,但是当我想关闭该对话框时,它无法关闭。这是代码

public void showPopupProgressSpinner(Boolean isShowing) {

        Dialog progressDialog;
        ProgressBar progressBar;

        progressDialog = new Dialog(context);
        progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        progressDialog.setContentView(R.layout.popup_progressbar);
        progressDialog.setCancelable(false);
        progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

        progressBar = (ProgressBar) progressDialog.findViewById(R.id.progressBar1);
        progressBar.getIndeterminateDrawable().setColorFilter(Color.parseColor("#ff6700"),
                android.graphics.PorterDuff.Mode.MULTIPLY);

        if (isShowing == true) {
            progressDialog.show();
        } else if (isShowing == false) {

            progressDialog.dismiss();

        }
    }

这就是我调用此函数的方式

显示对话框

utils.showPopupProgressSpinner(true);

隐藏对话框

utils.showPopupProgressSpinner(false);

【问题讨论】:

  • 因为每次创建新对话框时,都要全局定义进度对话框
  • 感谢您的快速回复。您能否详细说明一下? @justDroid
  • 对话进度对话;在 showPopupProgressSpinner 方法之外定义它。
  • 感谢@justDroid 现在它工作正常

标签: android dialog android-alertdialog progressdialog


【解决方案1】:

试试这个对我有用。

private Dialog progressDialog = null;
private ProgressBar progressBar;

public void showPopupProgressSpinner(Boolean isShowing) {
    if (isShowing == true) {
        progressDialog = new Dialog(AndroidVideoCaptureExample.this);
        progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        progressDialog.setContentView(R.layout.popup_progressbar);
        progressDialog.setCancelable(false);
        progressDialog.getWindow().setBackgroundDrawable(
                new ColorDrawable(Color.TRANSPARENT));

        progressBar = (ProgressBar) progressDialog
                .findViewById(R.id.progressBar1);
        progressBar.getIndeterminateDrawable().setColorFilter(
                Color.parseColor("#ff6700"),
                android.graphics.PorterDuff.Mode.MULTIPLY);
        progressDialog.show();
    } else if (isShowing == false) {
        progressDialog.dismiss();
    }
}

谢谢。

【讨论】:

  • 你节省了我很多时间,伙计。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 2011-09-21
  • 2017-11-12
  • 2019-12-09
  • 2018-11-12
相关资源
最近更新 更多