Nueva pregunta

Pregunta:

 
  0  
 
Fecha: 03-03-2018 12:42:52 (En Español)

WebView como cambiar el mensaje de error[No resuelta]

Hola, estoy mostrando páginas web locales con WebView, estas páginas llevan enlaces para mostrar otras páginas locales, pero en alguna ocasión el link que llama a otra página local, la paginas web no está y muestra un mensaje de error al no poder abrirla.



Estoy probando con este código, pero me muestra el mensaje que yo le pongo

 @Override
            public void onReceivedError(WebView webView, int errorCode, String description, String failingUrl) {
                try {
                    webView.stopLoading();
                } catch (Exception e) {
                }
                try {
                    webView.clearView();
                } catch (Exception e) {
                }
                if (webView.canGoBack()) {
                    webView.goBack();
                    Toast toast = new Toast(getApplicationContext());
                    toast.setGravity( Gravity.CENTER,0,0);

                    TextView tv = new TextView(MainActivity.this);
                    tv.setBackgroundColor( Color.RED);
                    tv.setTextColor(Color.YELLOW);
                    tv.setTextSize(20);

                    Typeface t = Typeface.create("serif", Typeface.BOLD_ITALIC);
                    tv.setTypeface(t);
                    tv.setPadding(10,10,10,10);
                    tv.setText("\"Documento no encontrado\"");
                    toast.setView(tv);
                    toast.setDuration(Toast.LENGTH_LONG);
                    toast.show();
                }
                super.onReceivedError(webView, errorCode, description, failingUrl);
            }



¿Cómo puedo mostrar un mensaje personal cuando detecte que no ha podido cargar una página porque no se encuentra?

Gracias.
Etiquetas: Android Votos: 0 - Respuestas: 2 - Vistas: 6 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 03-03-2018 15:54:35 Podrías probar así, lo implemente una vez y me funciono:

    webView = (WebView) findViewById('R.id.miwebview');
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAppCacheEnabled(true);
    webView.loadUrl("http://lapaginaquesea.com");
    webView.setWebViewClient(new WebViewClient());
    
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){
        webView.loadUrl("file:///android_asset/error.html")
    }
    


    Aquí la FUENTE
      Votos: 1 - Link respuesta
     
  •  
      0  
     
    Fecha: 03-03-2018 21:40:31 Gracias Clarlo, como sabe no estoy muy puesto, y he copiado el codigo que p ones y me daba error, menos mal que tambien has puesto la fuente y he podido ver el codigo completo.

    Lo tengo puesto y muestra la pagina de error mejor que con el codigo que yo puse, y es mas practico, pero...... tiene que haber un pero porque a mi no me sale nada de esto a la primera jeje.

    El problema es que he puesto el codigo
            webView.setWebViewClient(new WebViewClient() {
                public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){
                    webView.loadUrl("file:///android_asset/mnk_2_0.htm");
                }});
    


    y cuando encuentra la pagina que no esta, muestra la pagina con el error que el he puesto, pero luego no puedo volver atras

    Tengo puesto este codigo para volver atras pulsando la flecha fisica del movil, y funciona cuando estoy viendo paginas web locales, vuelver sobre las paginas antiores.

        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if ((keyCode == KeyEvent.KEYCODE_BACK) && this.webView.canGoBack()) {
                this.webView.goBack();
                return true;
            }
    
            return super.onKeyDown(keyCode, event);
        }
    


    Pero cuando entra en la pagina del error, ya no hay forma de utilizar la flecha fisica del movil para salir de esa pagina web.

    Editado

    Solo comentar que he probado con el codigo de ese video, y me pasa lo mismo, cuando muestra la pagina del error, no deja volver a la pagina anterior.


    Un saludo
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com