以下是创建进度对话框的示例:
第一种情况:
私有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,“正在加载”,“请稍候”);“
第二种情况:
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 = ProgressDialog.show(MainActivity.this,“ Loading”,“ Please Wait”)“在第二个示例中,我有新的ProgresDialog()?
答案 0 :(得分:0)
有趣。首先是ProgressDialog类的静态方法,该类扩展了AlertDialog并扩展了Dialog。 现在第二个是Dialog类的非静态方法。alertdialog继承了该方法。
因此,第一个似乎更好的要求程序员易于使用。但是,第一个人的身体在下面!
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;
}
这是第二个。