android中的webview在加载网址时会加载多次。
下面是代码。
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.contains(".pdf")) {
String[] spliturl = url.split("http://someurl/");
String googleurl = "http://docs.google.com/viewer?embedded=true&url=";
System.out.println("Google Url"+googleurl);
System.out.println("spliturl"+spliturl[1]);
view.loadUrl(googleurl+spliturl[1]);
}
else
view.loadUrl(url);
return true;
}
});
我正在分割网址,因为它包含多个要传递给Google文档查看器以呈现pdf文档的网址。
第一次将URL正确地进行拆分,并将该URL串联以在google docs中打开,但是webview会在spliturl [1]处给出ArrayIndexOutOfBoundsException再次在此处执行。
谁能让我知道为什么再次执行此操作。
谢谢。
最佳答案
您应该始终检查数组的大小是否大于请求的索引:
if (url.contains(".pdf") && url.split("http://someurl/").size()>2){
// your code
}
不知道为什么调用它-可能是多个重定向。