我定义了一个私有类,它扩展了WebViewClient并将我的WebView的客户端设置为该类的一个实例(webView01.setWebViewClient(new Callback());)。Android WebViewClient问题
类定义如下:
private class Callback extends WebViewClient {
public void onLoadResource (WebView view, String url) {
}
public void onPageStarted (WebView view, String url, Bitmap favicon) {
}
public void onPageFinished (WebView view, String url) {
Animation anim = AnimationUtils.loadAnimation(MyNews.this, R.anim.webviewanim);
view.startAnimation(anim);
}
public void onReceivedError (WebView view, int errorCode, String description, String failingUrl) {
}
public boolean shouldOverrideUrlLoading (WebView view, String url) {
Log.e("loading url", url);
return false;
}
}
我的问题是onPageFinished肯定是越来越调用,但shouldOverrideUrlLoading永远不会被调用。
我在这里做错了什么?
2010年6月13日
多一点信息。我正在从一个字符串(webView01.loadDataWithBaseURL(“假://假”,myHTML,“text/html”,“UTF-8”,null); )加载初始页面。
页面加载(并且有几个onLoadResource调用),onPageFinished在页面加载完成时被调用。
当用户在页面上点击锚链接时,不是调用shouldOverrideUrlLoading,而是调用onLoadResource。
我需要在用户点击链接时调用完整的Web浏览器,但我从来没有机会覆盖URL加载。
尝试添加'@ Override'声明并查看是否有任何内容显示。你的签名看起来不错,但也许我们都错过了一些东西...... – CommonsWare 2010-06-09 22:01:42