Después de cambiar el tipo de entrada de Edittext, los dígitos introducidos para el Editext no funcionan correctamente

Activity.xml

<EditText android:id="@+id/et_pwd" android:layout_width="300dp" android:layout_height="37dp" android:layout_marginBottom="15dp" android:drawableLeft="@drawable/icon_password" android:hint="Password" android:inputType="textPassword" android:maxLength="20" android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" /> 

Botón OnClickListner

 if (et_password.getInputType() != (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)) { et_password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); } else { et_password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); } 

Primero de todos, fijé dígitos en el EditText, y si hago clic en un botón él implementa el código antedicho que cambia su inputType. Antes de cambiar el tipo de entrada, sus dígitos están funcionando. Sin embargo, después de cambiar su inputType sus dígitos no funcionan por algunas razones. Permite introducir caracteres especiales. ¿Cómo puedo mejorar mi código para que funcione?

Este texto de cambio de código a texto de contraseña y Vise-Versa.

 public void onClick(View view) { if(inputPassword.getInputType() == InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD) { inputPassword.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); }else { inputPassword.setInputType( InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD ); } inputPassword.setSelection(inputPassword.getText().length()); } 

Y use este código de filtro para los dígitos.

 InputFilter filter = new InputFilter() { public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { for (int i = start; i < end; i++) { if (!Character.isLetterOrDigit(source.charAt(i))) { return ""; } } return null; } }; edit.setFilters(new InputFilter[] { filter }); 
  • Multiple EditText de Android con OnTextChangedListener
  • Cómo deshabilitar auto-complete y auto-correct de EditText
  • Cómo obtener la posición del carácter seleccionado o String en EditText
  • Cómo cambiar la posición de etiqueta flotante de TextInputLayout en android
  • Etiquetas o burbujas de Android en EditText
  • Tabulaciones de la barra de herramientas de Android y enfoque del teclado
  • EditText: No se puede escribir en el contenido, cuando el EditText tiene enfoque a veces
  • ¿Cómo puedo hacer clic en los vínculos de un EditText?
  • Necesita hacer doble clic en EditText para que el oyente de clics responda
  • Accesibilidad de Android: ¿Cómo cambio el texto leído en voz alta para una Vista de Edición de Texto
  • Cubierta del teclado de Android EditText cuando hago clic en él segunda vez
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.