shouldOverrideUrlLoading中的无限循环

时间:2013-05-07 12:51:59

标签: android

当我尝试显示PDF文件时,这段代码会创建一个无限循环,我该如何避免?

感谢。

mWebview.setWebViewClient(new WebViewClient() {
         @Override
         public boolean shouldOverrideUrlLoading(WebView view, String url) {
             String hello = Uri.parse(url).getHost();
             if (url.endsWith(".pdf")){
                 System.out.println("pdf: " + url);
                 view.loadUrl("http://docs.google.com/gview?embedded=true&url=" + url);
                 return true;
             } else {
                System.out.println("no pdf: " + url);
                view.loadUrl(url);

             }
             return false;
            }
        });

1 个答案:

答案 0 :(得分:2)

您的else应该是:

} else {
  System.out.println("no pdf: " + url);
}

你的循环将会发生,因为他每次都会进行loadUrl-> shouldOverrideUrlLoading -> loadUrl

如果您不更改网址,只需返回false。