Cómo establecer el tipo de entrada para ser numberdecimal, sino también permitir un "-"

He fijado el tipo de entrada para ser numberdecimal pero también quiero poblar el editText con un "-" programmatically. Puedo agregar el texto pero entonces no puedo corregir el texto pues no confirma al formato decimal del número. Cualquier idea sobre cómo puedo decir inputtype es numberdecimal pero un "-" puede ser permitido?

5 Solutions collect form web for “Cómo establecer el tipo de entrada para ser numberdecimal, sino también permitir un "-"”

Usted tendrá que escribir su propio KeyListener . Usted podría comenzar descargando el origen del NumberKeyListener y tomarlo desde allí.

Martín

Pude conseguir este comportamiento estableciendo el atributo xml de los digits como sigue:

 <EditText ... android:inputType="number" android:digits="0123456789-"/> 

Configurar programaticamente ( Set EditText Digits Programmatically ):

 weightInput.setKeyListener(DigitsKeyListener.getInstance("0123456789-")); 

Me las arreglé para hacer eso con:

 android:inputType="number|numberSigned" android:digits="0123456789-" 

He encontrado una solución muy fácil:

 editText.setKeyListener(new DigitsKeyListener(true, true)); 

La primera true es para saber si es entrada firmada, la segunda true es para decimal.
Espero que ayude

Estoy teniendo una solución, que puede ayudarle:

Supongamos que desea introducir 2-3 números con signo "-" por ejemplo 203-304-405.23-232.45,

Luego Permitir que el usuario ingrese esto en EditText sin establecer ningún atributo. Y luego puede separar cada número con la función " split() ", pero asegúrese de que debe haber cualquier signo de separación entre los tokens.

entonces

  String tokens[]; strInput = edittext1.getText.toString(); tokens = strInput.split(","); 

Entonces usted puede trabajar con cada fichas por separado como fichas [0], fichas [1], por ejemplo:

 num1 = tokens[0]; num2 = tokens[1]; 

Espero que esto te ayude.

¡¡Disfrutar!!

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.