2013-05-07 29 views
1

這段代碼創建一個無限循環,當我嘗試顯示PDF文件時,我該如何避免這種情況?無限循環inOverrideUrlLoading

謝謝。

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; 
      } 
     }); 
+0

不要在這個方法中調用webview.loadurl – 2013-05-07 12:56:45

+0

但是我怎樣才能顯示PDF文件? – luisfer 2013-05-07 13:06:45

+0

webviewclient不負責加載它們,只有在webview應該響應負載調用時才委派。這就是爲什麼你要首先覆蓋布爾方法的原因。在您的活動中調用loadurl。 – 2013-05-07 13:25:06

回答

2

else應該是:將出現

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

你的循環,因爲每次他會做一個loadUrl-> shouldOverrideUrlLoading -> loadUrl

如果不更改URL,就返回false。

+0

我已經嘗試過,仍然無法正常工作。 – luisfer 2013-05-07 13:06:15

+0

你確定只調用過一次setWebViewClient嗎? – RvdK 2013-05-07 13:25:20