Proszę mi pomóc to pytanie. Pracuję z podglądem strony. I stanąłem przed dwoma problemami:WebView: WebViewClient.onPageStarted metoda nie nazywa się
- Kiedy przeglądarka ładuje nową stronę. Metoda onPageStarted nie jest wywoływana, ale wywoływana jest metoda onPageFinished.
- Metoda: mWebView.canGoBack() zawsze zwraca wartość false.
Jeśli wiesz, dlaczego lub masz jakieś sugestie, pomóż mi. Uwaga: Pracuję z: Jquery Mobile po stronie serwera (strona internetowa).
To są mój klient Webview i kod źródłowy skryptu 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;
}
}
To mój WebView startowych:
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);
Dodaj wyjaśnień w odpowiedzi na odpowiedź, jak to help OP ustalając aktualny problem –
Tylko webview wywołuje onPageStarted podczas ładowania nowej strony –