我有这个密码:
private final class MyWebClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
url = "localhost:999";
mIsLoaded = false;
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
mIsLoaded = true;
super.onPageFinished(view, url);
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
mIsLoaded = false;
super.onReceivedError(view, errorCode, description, failingUrl);
}
}
重写事件的关系和顺序是什么
以防成功?
万一失败?
mywebclient应设置对话框内容
但如果我的错误代码不是0,我希望它隐藏对话框。
我应该只在
onReceivedError
中执行“return”还是调用onPageFinished
? 最佳答案
onPageFinished
告诉您webview已停止加载。onReceivedError
告诉你有个错误。它们不是“成功”和“失败”回调,这就是为什么在出现错误时会同时得到这两个回调。
而且,callback implementations in WebViewClient通常不会做任何有用的事情,所以您是否调用super.onReceivedError
也没有区别。在onReceivedError
中无法“执行返回”。如果您想在出现错误时显示其他内容,请从view.loadUrl(...)
调用onReceivedError
。