📱 Detectar error al cargar WebView en Android Studio [27]

En este tutorial vamos a detectar si nuestra página web cargo exitosamente o tuvo algún error.

  • Instanciamos el objeto WebViewClient que sobreescribirá los métodos onReceivedError y onPageFinished.
  • Si la página carga con éxito mostramos un mensaje de éxito.
  • En caso contrario mostramos un mensaje con el error.

Sintaxis:
navegador?.webViewClient = object : WebViewClient(){
override fun onReceivedError
override fun onPageFinished

Codigo: https://github.com/programadornovato/Mi-Primer-Proyecto-Android-Studio/commit/3c2c1cff9323cf0965cd34f476f0ae004cf310b4

package com.programadornovato.miprimerproyecto

import android.content.DialogInterface
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.webkit.WebResourceError
import android.webkit.WebResourceRequest
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.*
import androidx.appcompat.app.AlertDialog
import java.math.BigDecimal
import kotlin.math.PI
import kotlin.math.round

class MainActivity : AppCompatActivity() {
    private var txtURL:EditText?=null
    private var navegador:WebView?=null
    private var errorPagina=false
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        txtURL=findViewById(R.id.txtURL)
        navegador=findViewById(R.id.navegador)
        navegador?.clearCache(false)
        navegador?.settings?.javaScriptEnabled=true

        navegador?.webViewClient = object : WebViewClient(){
            override fun onReceivedError(
                view: WebView?,
                request: WebResourceRequest?,
                error: WebResourceError?
            ) {
                super.onReceivedError(view, request, error)
                errorPagina=true
                Toast.makeText([email protected],"Error al cargar: $error",Toast.LENGTH_LONG).show()
            }

            override fun onPageFinished(view: WebView?, url: String?) {
                super.onPageFinished(view, url)
                if(errorPagina==false){
                    Toast.makeText([email protected],"La pagina termino de cargar",Toast.LENGTH_LONG).show()
                }
            }
        }


    }
    fun cargar(view: View){
        errorPagina=false
        var url=txtURL?.text.toString()
        navegador?.loadUrl(url)
    }
}

🎦 Lista de reproducción de este curso: https://www.youtube.com/watch?v=3ZUlE_tvfaM&list=PLCTD_CpMeEKRL2-HaZThebGcyyR3_RshO&ab_channel=programadornovato
🎦 Curso de Android Studio: https://www.youtube.com/watch?v=AHyTqIB_8Rs&list=PLCTD_CpMeEKTT9pb9J-89j1SPtqHzU7sF&ab_channel=programadornovato
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [Curso] Kotlin de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF

🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato

#kotlin #java #AndroidStudio

Deja un comentario

Tu dirección de correo electrónico no será publicada.