首页 > 解决方案 > 进度条不显示当前进度

问题描述

我有一个WebView使用 Horizo​​ntal 的地方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);在上面的代码中使用过。那为什么它不起作用?请帮忙。

标签: androidandroid-progressbar

解决方案


你错误地设置了进度条,你应该使用webchromeClient,并设置progressBarwith 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);
        }
    }
 }

推荐阅读