实例化 ProgressDialog class 的更好方法是什么?为什么?

What is the better way to instantiate a ProgressDialog class and why?

以下是创建进度对话框的示例:

第一种情况:

私有 ProgressDialog progressDialog;

btnCircle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                progressDialog = ProgressDialog.show(MainActivity.this, 
                "Loading", "Please Wait");
                SporednaDretva sd = new SporednaDretva(progressDialog, false);
                sd.start();

            }
        });

请注意我这里有 "progressDialog = ProgressDialog.show(MainActivity.this, "正在加载", "Please Wait");"

第二种情况:

btnProgress.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setMessage("Downloading");
                progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                progressDialog.show();
                SporednaDretva sd = new SporednaDretva(progressDialog, true);
                sd.start();

            }
        });

这里有"progressDialog = new ProgressDialog(MainActivity.this);"

问题: 谁能向我解释一下这两种创建进度对话框的方法? 我知道第一个对话框是圆形对话框,第二个是水平进度对话框,但为什么在第一个示例中我有 "progressDialog = ProgressDialog.show(MainActivity.this, "Loading", "Please Wait")" 没有 new ProgressDialog() 而在第二个示例中我有新的 ProgresDialog()?

有意思。第一个是 ProgressDialog class 的静态方法,它扩展了 AlertDialog,而 AlertDialog 又扩展了 Dialog。 现在第二个是 Dialog 的非静态方法 class.The 与 alertdialog.

继承的相同

因此,似乎第一个更好地调用程序员的易用性。然而第一个的body小于一个!

public static ProgressDialog show(Context context, CharSequence title,
            CharSequence message, boolean indeterminate,
            boolean cancelable, OnCancelListener cancelListener) {
        ProgressDialog dialog = new ProgressDialog(context);
        dialog.setTitle(title);
        dialog.setMessage(message);
        dialog.setIndeterminate(indeterminate);
        dialog.setCancelable(cancelable);
        dialog.setOnCancelListener(cancelListener);
        dialog.show();
        return dialog;
    }

这是第二个