4

我想隐藏那个错误,只显示一个空白页和一个对话框。

我该如何隐藏它?

4

2 回答 2

12

不是那么明显。因为 WebViewClient 无论如何都会打开标准错误页面,即使您覆盖 onReceivedError 方法。所以我们需要在处理错误事件后打开自定义错误页面。

因此,您应该覆盖WebViewClient 中的 onReceivedError,然后如果您处理所需的错误代码(请参阅 WebViewClient 中的 ERROR_ 常量),您应该打开空白页面或其他页面以隐藏标准 Android“网页不可用”页面。

像这样的东西:

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
    if (errorCode == neededErrorCode) {
        hideErrorPage(view);
    }
}

private void hideErrorPage(WebView view) {
    // Here we configurating our custom error page
    // It will be blank
    String customErrorPageHtml = "<html></html>";
    view.loadData(customErrorPageHtml, "text/html", null);
}
于 2012-10-15T20:14:45.837 回答
1

您应该重写 onReceiveError 方法。

http://developer.android.com/reference/android/webkit/WebViewClient.html#onReceivedError%28android.webkit.WebView,%20int,%20java.lang.String,%20java.lang.String%29

在该方法中,只需创建您的自定义视图即可查看。例如加载一个新的 url 或一些自定义的 html。

于 2012-10-15T19:59:16.210 回答