Un 'EditText' es el típico apartado dentro de una página web o dentro de una aplicación móvil en el que tú introduces tu nombre de usuario y tu contraseña. Un 'EditText' puede ser de muchísimos tipos. Y cuando es de tipo "password", suelen aparecer asteriscos o puntos que ocultan la "password" al resto de miradas curiosas.
Han pasado los años y Android ha evolucionado muchísimo, tanto en velocidad, seguridad y novedades; pero una cosa que también ha cambiado y mejorado es el soporte para desarrolladores. En este post vamos a explorar la declaración y validación de este componente esencial.
Creación Visual de un EditText en Android Studio
Para crear un 'EditText', deberás ir a la parte de Palette y buscar el apartado Text. Aquí puedes ver todos los tipos de 'EditText' que tienes disponible directamente en Android Studio. Mediante "drag and drop" podrás llevar a tu elemento este 'EditText'. Podrás moverlo por la pantalla y situarlo donde tú quieras. Vamos a hacerlo un poco más grande para que puedas ver el resultado. Por ejemplo, en un caso particular, puede ser un tipo 'Date', lo que quiere decir que incluiremos en esta parte una fecha.
Declaración de un EditText en Código Java
Para interactuar con un 'EditText' desde el código Java, primero debemos declararlo y asignarle una referencia desde la vista. En este ejemplo, declaramos nuestro EditText con id etNumero y le asignamos su valor de la vista con findViewById. También necesitamos un botón, que será el que realizará la validación.
Validación de un EditText en Android
Validar el valor de un EditText de Android es crucial para asegurar que los datos introducidos por el usuario son correctos. Usar setError ofrece una mejor manera de indicarle al usuario que un dato no es válido con un tooltip. No será la gran cosa, y no es algo difícil; pero le da un toque a nuestras apps.
Lea también: IVA 21% Excel
Veamos entonces cómo validar lo que el usuario escribe. En este ejemplo validaremos que el campo no sea una cadena vacía y que el valor introducido sea un número mayor o igual a 5 y menor o igual a 60.
Lógica de Validación con setError
Al presionar el botón se eliminan los errores previos con setError(null);. Después de ello, obtenemos el valor del EditText y lo comparamos con una cadena vacía usando algo como la notación Yoda.
La secuencia de validación es la siguiente:
- En caso de que el valor esté vacío, es decir, que no se haya introducido nada, entonces mostramos el primer error con setError(mensaje).
- Luego de eso, en caso de que no sea una cadena vacía, la convertimos a un entero con Integer.parseInt y comprobamos su rango.
- Si está dentro del rango, mostramos un simple Toast, aunque en la vida real significa que el número está validado.
- En caso de que no cumpla el rango, mostramos otro error.
Aunque se ve un poco largo, solamente estamos trabajando con setError para proporcionar una retroalimentación clara al usuario.
Descargar Aplicación y Código
El código es totalmente open source y puedes verlo en el repositorio. La APK para probar puedes descargarla en la sección de releases. Si quieres ver todo el código de la MainActivity, recuerda que solamente el fragmento de código que realiza la validación es relevante para este post.
Lea también: Guía IVA reducido
Lea también: ¿Cómo localizar tus XML del SAT?
