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.
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:
<EditText
android:id="@+id/etFecha"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:clickable="true"
android:ems="10"
android:focusable="false"
android:inputType="none"
android:textIsSelectable="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout" />
De este modo los listeners van a seguir funcionando, pero el usuario no podrá escribir texto.
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.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.