androidのwebviewは、URLの読み込み中に複数回読み込まれます。以下はコードです。
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;
}
});
PDFドキュメントをレンダリングするためにGoogleドキュメントビューアに渡される複数のURLが含まれているため、URLを分割しています。初めてURLが正しく分割され、URLが連結されてGoogleドキュメントで開かれますが、spliturl [1]でArrayIndexOutOfBoundsExceptionを指定することにより、Webビューがそこで再度実行されます。なぜこれが再び実行されるのか誰かに教えてもらえますか?ありがとう。