Vui lòng giúp tôi câu hỏi này. Tôi đang làm việc với webview. Và tôi phải đối mặt với hai vấn đề:WebView: Phương thức WebViewClient.onPageStarted không được gọi là
- Khi trang web tải trang mới. Phương thức onPageStarted không được gọi nhưng phương thức onPageFinished được gọi.
- Phương thức: mWebView.canGoBack() luôn trả về false.
Nếu bạn biết tại sao hoặc có đề xuất, hãy giúp tôi. Lưu ý: Tôi đang làm việc với: Jquery Mobile ở phía máy chủ (phía Web).
Đó là ứng dụng khách Webview của tôi và mã nguồn Webview init.
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;
}
}
Đây là init webview của tôi:
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);
Thêm một số giải thích với câu trả lời về cách thức này trả lời giúp đỡ OP trong sửa chữa vấn đề hiện tại –
cuộc gọi webview chỉ gọi trênPageStarted khi tải trang mới –