Restrinja la entrada de EditText a algunos caracteres especiales en Android

En algunas de las otras aplicaciones, la mayoría de nosotros debe haber sido testigo de que al escribir en algún campo, recibimos una advertencia o un mensaje flash que indica que ciertos caracteres no están permitidos o no se aceptan como entrada válida. Por ejemplo, a veces, al cambiar el nombre de un archivo o una carpeta en Windows, si simplemente escribimos ‘?’, recibimos un mensaje que dice ‘?’ no se acepta como entrada válida. Esto sucede porque el carácter ‘?’ debe tener algún significado funcional en los sistemas de archivos de ese sistema operativo. De manera similar, puede haber restricciones en otros caracteres especiales, ya que podrían tener algún significado funcional en los sistemas de archivos del sistema operativo. De manera similar, este concepto se puede aplicar a cualquier tipo de entrada de usuario. Digamos que si la entrada es el nombre de usuario deseado al registrarse, podemos aplicar un concepto similar para evitar el uso de números o caracteres especiales. Entonces, en este artículo,

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Demostramos la aplicación en Kotlin , así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.

Paso 2: trabajar con el archivo activity_main.xml

Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Creamos un EditText , donde se pueden tomar entradas. Tenga en cuenta que el atributo android:digits permite los caracteres dados solo en el flujo de entrada.

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    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"
    tools:context=".MainActivity">
  
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50sp"
        android:hint="Type something..."
        android:inputType="text"
        android:digits="abcd@#$123"/>
  
</RelativeLayout>

Paso 3: trabajar con el archivo MainActivity.kt

Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . No se necesita código adicional dentro de este archivo. 

Kotlin

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

Producción:

Puede ver que solo esos caracteres se imprimen en el EditText que se ha declarado contra el atributo android:digits del EditText.

Publicación traducida automáticamente

Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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