繁体   English   中英

Android-progressDialog.show()和ProgressDialog.show()有什么区别?

[英]Android - What is difference between progressDialog.show() and ProgressDialog.show()?

我的意思是,该类实例的ProgressDialog静态方法show()和非静态方法show的返回值有什么区别?

有什么理由更喜欢这种策略

ProgressDialog pd = new ProgressDialog(mActivity);
pd.setTitle(mTitle);
pd.setMessage(mMessage);
pd.show();

对此:

ProgressDialog pd = ProgressDialog.show(mActivity,mTitle,mMessage);

对于特定情况?

我认为,“正确”的方法取决于您的用法。 静态show( ... )方法执行的步骤与您相同:

public static ProgressDialog show(Context context, CharSequence title,
        CharSequence message) {
    return show(context, title, message, false);
}

public static ProgressDialog show(Context context, CharSequence title,
        CharSequence message, boolean indeterminate) {
    return show(context, title, message, indeterminate, false, null);
}

public static ProgressDialog show(Context context, CharSequence title,
        CharSequence message, boolean indeterminate, boolean cancelable) {
    return show(context, title, message, indeterminate, cancelable, null);
}

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;
}

您可以看到,对带有参数的静态show方法的任何调用最终都只是构造一个ProgressDialog,并且将调用实例方法show()

使用静态show( ... )方法只是为了方便您使用一行代码来显示基本的ProgressDialog。

用大写字母p书写它是正确的方法,因为方法show是静态的

ProgressDialog.show(mActivity,mTitle,mMessage);

这里查看文档

在此处输入图片说明

有什么理由更喜欢这种策略吗?

之所以是最好的方法,是因为应该始终以静态方式访问静态方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM