【问题标题】:WebView onProgressChanged() not called未调用 WebView onProgressChanged()
【发布时间】:2013-09-05 05:39:56
【问题描述】:

我有一个 WebView,它可以很好地加载一个 URL。我得到了一个 WebViewClient 并扩展了 onProgressChanged,但据我所知,它没有被调用。有什么想法吗?

 wv.setWebViewClient(new WebViewClient(){

        public void onProgressChanged(final WebView view, final int newProgress) {
            Log.e("APPNAME", String.valueOf(newProgress));
            if (newProgress < 100 && progressBar.getVisibility() == ProgressBar.GONE){
                progressBar.setVisibility(ProgressBar.VISIBLE);
            }
            progressBar.setProgress(newProgress);
            progressTxt.setText(newProgress);
            if (newProgress == 100){
                progressBar.setVisibility(ProgressBar.GONE);
            }
        }

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){
             InputStream is = null;
             byte[] buffer = null;
                try {
                    is = getAssets().open("error.html");
                    int size = 0;
                    size = is.available();
                    buffer = new byte[size];
                    is.read(buffer);
                    is.close();
                }
                catch(Exception e){

                }
                String str = new String(buffer);
                str = str.replace("%@", description);

                view.loadDataWithBaseURL("file:///android_asset/", str, "text/html", "utf-8", null); 
        }
    });

【问题讨论】:

    标签: android webview android-progressbar webviewclient


    【解决方案1】:

    试试这个

    你使用了错误的 webClient

    wv.setWebChromeClient(new WebChromeClient() {
                public void onProgressChanged(WebView view, int newProgress) {
                    progressBar.setProgress(newProgress);
                }
            });
    

    【讨论】:

      【解决方案2】:

      WebView 客户端没有任何名为 onProgressChanged 的​​方法。你可以查看here

      将您的代码移至支持此方法的 webchrome 客户端。检查here

      【讨论】:

        【解决方案3】:

        使用 webChromeClient 代替 webViewClient

        【讨论】:

        • 拜托,你能用更详细的解释来扩展你的答案吗?这对理解非常有用。谢谢!
        猜你喜欢
        • 2018-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-10
        相关资源
        最近更新 更多