4

そのエラーを非表示にして、空白のページとダイアログのみを表示したい。

どうすれば非表示にできますか?

4

2 に答える 2

12

それほど明白ではありません。WebViewClient は、onReceivedError メソッドをオーバーライドしても、標準のエラー ページを開くためです。そのため、エラー イベントを処理した後にカスタム エラー ページを開く必要があります。

したがって、WebViewClient で onReceivedErrorをオーバーライドする必要があります。次に、必要なエラー コードを処理する場合 (WebViewClient の ERROR_ 定数を参照)、空白のページまたは別のページを開いて、標準の Android の「Web ページが利用できません」ページを非表示にする必要があります。

このようなもの:

@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 に答える