texto - cómo establecer solo el valor numérico para edittext en android?
propiedades edittext android (10)
En código, podrías hacer
ed_ins.setInputType(InputType.TYPE_CLASS_NUMBER);
Tengo un edittext
de edittext
en el que quiero que solo se inserten valores enteros. ¿Alguien puede decirme qué propiedad debo usar?
Para entradas de solo dígitos, use android:inputType="numberPassword"
junto con editText.setTransformationMethod(null);
para eliminar la ocultación automática del número.
O
android:inputType="phone"
Solo para la entrada de dígitos, creo que estas formas de pareja son mejores que android:inputType="number"
. La limitación de mencionar "número" como inputType es que el teclado permite cambiar a los caracteres y también permite ingresar otros caracteres especiales. "numberPassword" inputType no tiene esos problemas ya que el teclado solo muestra dígitos. Incluso el tipo de entrada "phone" funciona ya que el teclado no le permite cambiar a los caracteres. Pero aún puede ingresar dos caracteres especiales como +, /, N, etc.
android: inputType = "numberPassword" con editText.setTransformationMethod (null);
inputType = "teléfono"
inputType = "número"
Por ejemplo:
<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>
Puedes usarlo en XML
<EditText
android:id="@+id/myNumber"
android:digits="123"
android:inputType="number"
/>
o,
android:inputType="numberPassword" along with editText.setTransformationMethod(null); to remove auto-hiding of the number.
o,
android:inputType="phone"
Programáticamente puedes usar
editText.setInputType (InputType.TYPE_CLASS_NUMBER);
Si alguien quiere usar solo un número del 0 al 9 con imeOptions
habilitado, entonces use la línea debajo de su EditText
android: inputType = "número | ninguno"
Esto solo permitirá el número y si hace clic en el botón de hacer / siguiente del teclado, su enfoque se moverá al siguiente campo.
Supongo que android:inputType="number"
en los atributos xml.
el más simple para mí
android:numeric="integer"
aunque esto también más personalizar
android:digits="0123456789"
utilizando el siguiente puede resolver mejor su problema;
en xml:
<EditText
android:id="@+id/age"
android:inputType="numberDecimal|numberSigned" />
o // en actividad dentro de etfield.addtextchangelistener
private String blockCharacterSet="+(/)N,*;#";//declare globally
try {
for (int i = 0; i < s.length(); i++) {
if (blockCharacterSet.contains(s.charAt(i) + "")) {
String corrected_settempvalue = arrivalsettemp.substring(0, arrivalsettemp.length() - 1);
et_ArrivalSetTemp.setText(corrected_settempvalue);
if (corrected_settempvalue.length() != 0)
et_ArrivalSetTemp.setSelection(corrected_settempvalue.length());
}
}
} catch (Exception d) {
d.printStackTrace();
}
<EditText
android:id="@+id/age"
android:numeric="integer"
/>
android:inputType="numberDecimal"