title: Android webview custom error page
body: <p>I am creating application that use WebView to access a online website. I am stuck where I have to add code to check availability of page.</p>
  
  <pre><code>public class SpartanWeb extends Activity {
  
  WebView mWebView;
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      // Adds Progrss bar Support
      this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
      setContentView(R.layout.main);
  
      // Makes Progress bar Visible
      getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
              Window.PROGRESS_VISIBILITY_ON);
  
      // Get Web view
      mWebView = (WebView) findViewById(R.id.webView1);
      WebSettings websettings = mWebView.getSettings();
      websettings.setJavaScriptEnabled(true);
      mWebView.stopLoading();
      mWebView.clearCache(true);
      mWebView.loadUrl("http://google.com");
      mWebView.setHorizontalScrollBarEnabled(false);
      mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
      mWebView.setWebViewClient(new WebViewClient());
      mWebView.setDownloadListener(new DownloadListener() {
          public void onDownloadStart(String url, String userAgent,
                  String contentDisposition, String mimetype,
                  long contentLength) {
              Intent intent = new Intent(Intent.ACTION_VIEW);
              intent.setData(Uri.parse(url));
              startActivity(intent);
          }
      });
  
      // onProgressChanged
      final Activity MyActivity = this;
      mWebView.setWebChromeClient(new WebChromeClient() {
          public void onProgressChanged(WebView view, int progress) {
              // bar disappear after URL is loaded, and changes string to
              // Loading...
              MyActivity.setTitle("Loading...");
              MyActivity.setProgress(progress * 100); // Make the bar
                                                      // disappear after URL
                                                      // is loaded
  
              // Return the app name after finish loading
              if (progress == 100)
                  MyActivity.setTitle(R.string.app_name);
          }
      });
  
  }// EOM oc
  
  public boolean onKeyDown(int keyCode, KeyEvent event) {
      if ((keyCode == KeyEvent.KEYCODE_BACK) &amp;&amp; mWebView.canGoBack()) {
          mWebView.goBack();
          return true;
      }
      return super.onKeyDown(keyCode, event);
  }
  </code></pre>
  
  <p>}</p>
  
  <p>I am trying to add <em>onReceivedError</em> but for some reason custom page is not loading.</p>
  
  <pre><code>/** Called when the activity is first created. */
  public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) 
  {
  mWebView.loadUrl("file:///android_asset/error.html");
  }
  </code></pre>
  
  <p>Please advise what to do.</p>