使用:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl("file:///android_asset/www/css-js/app.css");
return true;
}
});
不起作用:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl("http://yahoo.com");
return true;
}
});
答案 0 :(得分:2)
问题在于正在创建一个无限循环。它每次重新覆盖新的loadUrl。例如,这没有问题:
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if(!url.toLowerCase().contains("yahoo.com"))
{
view.loadUrl("http://yahoo.com");
return true;
}
return false;
}
请注意,只是保存最后一个覆盖网址并与if(!url.equals(lastOverrideUrl))
进行比较在这种情况下(以及其他许多网页)不起作用,因为网址会自动从“http://yahoo.com”更改为“http” ://www.yahoo.com/”