如何为进度对话框编写干代码

时间:2018-12-06 07:49:56

标签: java android progressdialog asynchttpclient

我正在创建一个应用程序,该应用程序从多个Activity片段向服务器发送许多请求。 我想在请求发送方法中显示ProgressDialog,在这种情况下,我想编写一次代码以显示ProgressDialog,而我不想为每个请求编写显示进度对话框。

这是我的DataAccess类,用于连接到服务器并发送请求,每个请求都使用该类

[ts] 'await' expression is only allowed within an async function...

我可以在此类中显示ProgressDialog吗?

1 个答案:

答案 0 :(得分:0)

您可以使用create / Update / cancel方法为ProgressDialogUtil创建一个单独的类,然后从所需的任何活动中调用该方法。

在收到响应后为每个“请求和取消”调用Show方法。

创建此类并调用方法->

public class MyProgressDialog {

    private static ProgressDialog progressDialog;

    public static void show(Context context, int messageResourceId) {
        if (progressDialog != null) {
            progressDialog.dismiss();
        }

        int style;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            style = android.R.style.Theme_Material_Light_Dialog;
        } else {
            //noinspection deprecation
            style = ProgressDialog.THEME_HOLO_LIGHT;
        }

        progressDialog = new ProgressDialog(context, style);
        progressDialog.setMessage(context.getResources().getString(messageResourceId));
        progressDialog.setCancelable(false);
        progressDialog.show();
    }

    public static void dismiss() {
        if (progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
            progressDialog = null;
        }
    }

}