如何在 Android WebView 应用程序中添加自定义错误页面而不出现任何错误?

How to add a Custom Error page in an Android WebView application without any errors?

以下代码是应用的MainActivity。我尝试使用以下方法添加自定义错误页面:

mywebView.setWebViewClient(新的 WebViewClient() { @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { mywebView.loadUrl("file:///android_asset/error.html"); } });

当我在主要 activity 中使用上述代码时,错误页面或加载图标同时工作。 (互相覆盖)。

我不明白我错在哪里。谁能帮我解决这个问题?提前致谢。

public class MainActivity extends AppCompatActivity {

public WebView mywebView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mywebView = (WebView)findViewById(R.id.webView);
    WebSettings webSettings = mywebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mywebView.loadUrl("http://google.com/");
    mywebView.setWebViewClient(new WebViewClient());
    mywebView.setDownloadListener(new DownloadListener() {
        public void onDownloadStart(String url, String userAgent,
                                    String contentDisposition, String mimetype,
                                    long contentLength) {
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);
        }
    });
    mywebView.setWebViewClient(new WebViewClient() {
        public void onPageStarted(WebView view, String url, Bitmap favicon) {

            super.onPageStarted(view, url, favicon);
            findViewById(R.id.progress).setVisibility(View.VISIBLE);
        }

       public void onPageFinished(WebView view, String url) {
            findViewById(R.id.progress).setVisibility(View.GONE);
        }
    });
}
public void onBackPressed() {
    if(mywebView.canGoBack()){
        mywebView.goBack();
    } else {
        super.onBackPressed();
    }
}}
 mywebView.setWebViewClient(new WebViewClient() {
        public void onPageStarted(WebView view, String url, Bitmap favicon) {

            super.onPageStarted(view, url, favicon);
            findViewById(R.id.progress).setVisibility(View.VISIBLE);
        }

       public void onPageFinished(WebView view, String url) {
            findViewById(R.id.progress).setVisibility(View.GONE);
        }

        public void onReceivedError(WebView webview, int i, String s, String s1)
        {
            webview.loadUrl("file:///android_asset/error.html");
        }
    });

终于找到解决方法了