Editar texto aceptar sólo números no números decimales en android
Mi texto de edición debe aceptar sólo un número de 3 dígitos, no cualquier otro número decimal. He utilizado por debajo de la expresión regular para hacer eso, pero esto es incluso aceptar caracteres como "." Y "-". Entonces, ¿cómo evitar la aceptación de valores decimales?
pattern=Pattern.compile("[0-9]{0,2}");
Incluso establecí el texto de edición en
- ¿Cómo puedo eliminar el "+" y el código del país de un número de teléfono?
- Utilizar un signo de interrogación como String en android
- La división de una cadena funciona en Java, no funciona en Android
- Relacionar URI con <data> como http://example.com/algo en AndroidManifest
- ¿Cómo puedo crear una expresión regular para esto en android?
android:digits="0123456789" android:inputType="number"
Esto no está funcionando. ¿Cómo resolver?
- Cómo analizar valores float de cadena utilizando REGEX en java
- Permitir sólo charcters seleccionados basados en regex en un EditText
- Cómo encontrar elementos por subcadena de ID usando la sintaxis del selector Jsoup?
- Divide la cadena en la última aparición del carácter
- Reemplazar todas las letras de una cadena menos la primera y la última en Java
- Manejo de spoiler BBcode Android
- Problema que coincide con el patrón regex en Android
- Regex para eliminar el número de pista del nombre de la canción?
Prueba esto:
android:inputType="number|none" android:maxLength="3" android:digits="0123456789"
Establecer en el xml de edittext …
android:inputType="numberDecimal" android:maxLength="3"
Supongo que debería hacerlo programáticamente con el uso de la clase TextWacher
editText.addTextChangedListener(new TextWatcher() { Handler handler = new Handler(); Runnable delayedAction = null; @Override public void onTextChanged( CharSequence s, int start, int before, int count) {} @Override public void beforeTextChanged( CharSequence s, int start, int count, int after) {} @Override public void afterTextChanged( final Editable s) {} });
Establezca esto en su EditText
android:inputType:"number" android:maxLength:"3"
Trate de poner esto en su declaración xml de EditText:
android:inputType="number|none"
Disfruta de la codificación 🙂
Puedes usar esta respuesta para resolver tu problema. También para limitar el número de dígitos que puede utilizar:
android:maxLength="3"
Como otros usuarios le responden arriba.
Buena suerte
- ¿Cómo hago que los anuncios SMART_BANNER de admob se llenen correctamente en Android?
- ¿Por qué los elementos ListView no se pueden hacer clic después de desplazarse?