Прогрессбар не показывает текущий прогресс - PullRequest
0 голосов
/ 02 июня 2019

У меня есть WebView, где я использую горизонтальный ProgressBar.Я применил код, чтобы показать его прогресс, но он не работает.Вот код.

    mProgressBar = findViewById(R.id.pb);
    mWebView.setWebViewClient(new WebViewClient() {

        public void onProgressChanged(WebView view, int newProgress){
            // Update the progress bar with page loading progress
            int prog = mProgressBar.getProgress();
            mProgressBar.setProgress(prog);
            if(newProgress == 100){
                // Hide the progressbar
                mProgressBar.setVisibility(View.GONE);
            }
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) 
        {
            // Visible the progressbar
            mProgressBar.setVisibility(View.VISIBLE);
        }
        @Override
        public void onPageFinished(WebView view, String url) {
            finalMySwipeRefreshLayout1.setRefreshing(false);
            mProgressBar.setVisibility(View.GONE);
        }
    });

Я использовал mProgressBar.setProgress(prog); в приведенном выше коде.Тогда почему это не работает?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 июня 2019

вы устанавливаете индикатор выполнения неправильно, вы должны использовать webchromeClient и установить progressBar с помощью newProgress, вот как это сделать:

   mWebView.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int newProgress){
        // Update the progress bar with page loading progress
        mProgressBar.setProgress(newProgress);
        if(newProgress == 100){
            // Hide the progressbar
            mProgressBar.setVisibility(View.GONE);
        }
    }
 }
...