我有一个webview,必须在调用onReceivedError()时生成一个LOG.但问题是,当我有非常糟糕的wifi连接(几乎100%丢失)并且webview显示页面不可用的html错误时,正在调用onPageFinished方法并且未调用onRe
怎么解决这个问题?我希望当页面不可用时,会调用onReceivedError方法!
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d("WEBVIEw","ON PAGE FINISHED");
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Log.d("WEBVIEw","ON PAGE error");
}
});
即使出现错误,也会始终触发onPageFinished.有一个名为onPageSucceeded的方法会很棒 – 但这很容易创建.
在页面顶部创建一个属性private boolean webviewSuccess = true;和
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d("WEBVIEW","ON PAGE FINISHED");
if(webviewSuccess) {
Log.d("WEBVIEW","ON PAGE SUCCEEDED");
}
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
webviewSuccess = false;
Log.d("WEBVIEW","ON PAGE error");
}
