EditText, mostrar símbolo y mensaje de error usando setError().

En este tutorial explicamos cómo mostrar un símbolo y un mensaje de error, en un EditText usando “setError()”. Si el usuario ingresa algo incorrecto, podrás mostrar un símbolo al final del EditText con el mensaje de error que queramos.

Los Edit Text tienen muchas propiedades muy útiles. Pero en general solo se usan las más conocidas o comunes. Pero te recomendamos explorar un poco más a fondo las propiedades y comandos que puedes usar en un Edit Text.

En este caso explicaremos como usar el EditText.setError(“Mensaje de error”).

EditText Mostrar error, Android Studio

Resumen, mostrar texto de error en el EditText.

Para mostrar un mensaje indicando al usuario que ingresó mal algún dato. Podemos usar el comando setError().

Supongamos que tenemos una variable tipo Edit Text llamada edPrueba .

Solo es cuestión de usar el comando setError() como se ve a continuación.

edPrueba.setError("Mensaje");

Puedes usar if() para decidir cuándo se muestra. En el siguiente caso, mostramos un error cuando el Edit Text está vacío. Nos apoyamos de una variable Tipo String. Y usamos su comando isEmpty() para saber si hay o no contenido en el EditText.

String frase = edPrueba.getText().toString();

if(!frase.isEmpty())
{
    //Acción a realizar cuando si hay un texto
}
else{
    edPrueba.setError("Favor de escribir algo");
}

En la Interfaz de usuario (UI) veremos lo siguiente:

EditText símbolo y mensaje de error, Android Studio

Ejemplo, mostrando texto y símbolo de error en el Edit Text.

En este ejemplo necesitamos un EditText y un Botón.

Cuando el Edit Text este vacío y el usuario presionen un botón, entonces se mostrará el símbolo de error al final del EditText, debado se mostrará un texto indicando el error “Favor de escribir algo”.

La UI es la siguiente:

setError Android Studio Eit Text

El código de la UI es:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ccc"
    tools:context=".activity_Pruebas">

    <EditText
        android:id="@+id/idPrueba"
        android:background="#fff"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="125dp"
        android:ems="10"
        android:inputType="numberDecimal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/idBoton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:background="#000"
        android:text="Button"
        android:textColor="#fff"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/idPrueba" />

</android.support.constraint.ConstraintLayout>

Código en la Actividad.

Ahora vamos a relacionar el Edit Text y el botón de XML, cada uno con una variable en Java. Y agregarle el evento onClick al botón.

El código es el siguiente:

private EditText edPrueba;
private Button btnPrueba;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity__pruebas);

    edPrueba = findViewById(R.id.idPrueba);
    btnPrueba = findViewById(R.id.idBoton);

    btnPrueba.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           //Aquí escribimos lo que se hará cundo s presione el botón
       }            
    });

}

Mostrando el error cuando el EditText este vacío.

Cuando se presione el botón y no haya contenido en el EditText. Mostraremos el error usando el comando setError().

Primero vamos a identificar si el Edit Text esta vacío o no. Primero obtenemos el contenido del EditText y lo guardamos en una variable String llamada “frase”. Y para saber si contiene algo o no usamos el comando isEmpty()

Si esta vacío entonces usaremos el comando serError().

Como se muestra a continuación:

String frase = edPrueba.getText().toString();

if(!frase.isEmpty())
{
     //Código cuando el Edit Text si contiene algo
}
else{
    edPrueba.setError("Favor de escribir algo");
}

Con el comando anterior, se agrega un símbolo al EdiText indicando que hay un error. Y debajo se muestra el texto que escribimos “Favor de escribir algo”.

 EditText setError Android Studio

El código completo queda así:

private EditText edPrueba;
private Button btnPrueba;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity__pruebas);

    edPrueba = findViewById(R.id.idPrueba);
    btnPrueba = findViewById(R.id.idBoton);

    btnPrueba.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String frase = edPrueba.getText().toString();

            if(!frase.isEmpty())
            {

            }
            else{
                edPrueba.setError("Favor de escribir algo");
            }

        }
    });

}

Para más tutoriales de Android ve a la sección de Android.