Android – EditText de solo lectura

En este post te voy a explicar cómo configurar un elemento EditText de Android para que no se puedan modificar los datos, es decir, que sea de solo lectura; pero que sí se pueda tocar y desencadenar el listener correspondiente.

Deshabilitar edición de EditText

Para ello simplemente tienes que agregar algunos atributos XML al EditText:

  • clickable: para que el usuario pueda hacer click sobre él, debe estar en true
  • focusable: que no se le pueda dar focus, debe estar en false
  • inputType: none
  • textIsSelectable: false

Aquí pongo un ejemplo para deshabilitar la edición en un EditText:

De este modo los listeners van a seguir funcionando, pero el usuario no podrá escribir texto.

Pequeña nota

El usuario siempre va a encontrar la manera de habilitar la escritura, por ejemplo, podría pegar texto, cosa que se puede deshabilitar como se ve aquí.

A lo que me refiero es que no deberías confiar en la validación de ese modo; simplemente usa esto para la parte de la interfaz, y haz la validación en un lugar que no sea la vista.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *