请帮我解决这个问题。我正在使用 webview。我面临两个问题:
- 当 webview 加载新页面时。不调用 onPageStarted 方法,但调用 onPageFinished 方法。
- 方法 :mWebView.canGoBack() 总是返回 false。
如果您知道原因或有任何建议,请帮助我。注意:我正在使用:服务器端(Web 端)的 Jquery Mobile。
这些是我的 Webview 客户端和 Webview 初始化源代码。
private class MyWebViewClient extends WebViewClient{
private static final String TAG = "MyWebViewClient";
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.v(TAG, "onPageFinished url: " + url);
}
@Override
public void onLoadResource(WebView view, String url){
Log.v(TAG, "onLoadResource url: " + url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.v(TAG, "onPageStarted url: " + url);
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
Log.v(TAG, "onReceivedError url: " + failingUrl);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.v(TAG, "shouldOverrideUrlLoading : " + url);
return false;
}
}
这是我的 webview 初始化:
mWebView = new WebView(getActivity());
mWebView.setWebViewClient(new MyWebViewClient());
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
String link = getArguments().getString(PARAMETER_LINK);
boolean deleteWVData = getArguments().getBoolean(PARAMETER_DELETE_DATA);
if(deleteWVData)
mWebView.clearCache(true);