实例化 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;
}
这是第二个
以下是创建进度对话框的示例:
第一种情况:
私有 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;
}
这是第二个