Por favor, ayúdame a esta pregunta. Estoy trabajando con webview. Y me enfrenté a dos problemas:WebView: WebViewClient.onPageStarted método no se llama
- Cuando la vista web carga la página nueva. El método onPageStarted no se llama pero se llama al método onPageFinished.
- El método: mWebView.canGoBack() siempre devuelve falso.
Si sabes por qué o tienes alguna sugerencia, por favor, ayúdame. Nota: estoy trabajando con: jQuery Mobile en el lado del servidor (lado de la web).
Esos son mi cliente Webview y el código fuente 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;
}
}
Ésta es mi vista web init:
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);
Añadir una explicación con la respuesta de cómo esta respuesta ayuda OP en la fijación de edición actual –
webview solo llama a PagesIniciado al cargar una nueva página –