在我的代码中在哪里以及如何开始和停止进度条

where and how to start and stop progress bar in my code

我有一个翻译应用程序工作正常,但我想在用户按下翻译按钮时对其实施进度条,进度条应该开始并且可见,一旦翻译完成,进度条应该停止并且不可见。

下面是我的翻译按钮代码方法

     translateBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (checkInternetConnection()) {

                //if there is internet connection, get translate service and start translation.
                getTranslateService();
                translate();

            } else {

                //if not display "no internet connection" warning
                Toast.makeText(MainActivity.this, "Error! please check your internet connection and try again!!", Toast.LENGTH_LONG).show();

            }
            progressBar.setVisibility(View.VISIBLE);
        }
    });

我已经在我的代码中设置了进度条,但它一直在旋转,并且在翻译完成时不会停止。我很困惑将我的可见性和不可见代码行放在哪里。

您可以使用这些方法来显示和隐藏进度对话框。在需要的地方调用这些方法。

 ProgressDialog progressDialog;
    public void showProgressDialog(String title, String msg, Context context) {
        progressDialog.setTitle (title);
        progressDialog.setMessage (msg);
        progressDialog.setCancelable (false);
        progressDialog.show ();
    }

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

根据您的代码观点调用这些方法,如下所示。

 translateBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (checkInternetConnection()) {
              showProgressDialog(Your title,Your message,getContext);

             //if there is internet connection, get translate service and start translation.
               getTranslateService();
                translate();
                hideProgressDialog();
            } else {

                //if not display "no internet connection" warning
                Toast.makeText(MainActivity.this, "Error! please check your internet connection and try again!!", Toast.LENGTH_LONG).show();

            }

        }
    });

此外,如果您想显示进度条,请这样做

 translateBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (checkInternetConnection()) {
                   progressBar.setVisibility(View.VISIBLE);

                 //if there is internet connection, get translate service and start translation.
                   getTranslateService();
                    translate();
                    progressBar.setVisibility(View.GONE);

                } else {

                    //if not display "no internet connection" warning
                    Toast.makeText(MainActivity.this, "Error! please check your internet connection and try again!!", Toast.LENGTH_LONG).show();

                }

            }
        });