studio - obtener datos de un edittext android
Establecer los dÃgitos de EditText mediante programación (4)
Básicamente estoy tratando de establecer el valor de los dígitos de un EditText mediante programación. Hasta ahora tengo:
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
Lo cual está bien, pero también quiero poder incluir un lugar decimal (.). ¿Algunas ideas?
Para la entrada de direcciones IP (múltiples puntos y números)
tratar
<EditText
android:id="@+id/ipBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/ipAddrHint"
android:inputType="numberDecimal|number"
android:digits="0123456789."
android:textSize="30sp" />
Prueba esto:
weightInput.setInputType(InputType.TYPE_CLASS_NUMBER);
weightInput.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
weightInput.setKeyListener(DigitsKeyListener.getInstance(false,true));
public static DigitsKeyListener getInstance (boolean sign, boolean decimal)
Devuelve un DigitsKeyListener que acepta los dígitos del 0 al 9, más el signo menos (solo al principio) y / o el punto decimal (solo uno por campo) si se especifica.
Esto resuelve el problema de los muchos ''''. en EditText
Prueba esto:
<EditText
android:inputType="number"
android:digits="0123456789."
/>
Desde el Código:
weightInput.setKeyListener(DigitsKeyListener.getInstance("0123456789."));
Pero, permite al usuario incluir varios "." Vea la respuesta de JoeyRA para los números reales.
Utilice InputType.TYPE_NUMBER_FLAG_DECIMAL
.
Ver también: Tipos de entrada .