2011-02-04 9 views

Respuesta

125

Por ahora, utilice EditText. Use android:inputType="number" para forzar que sea numérico. Convierta la cadena resultante en un entero (por ejemplo, Integer.parseInt(myEditText.getText().toString())).

En el futuro, puede considerar un widget NumberPicker, una vez que esté disponible (programado para ser en Honeycomb).

+0

Offhand, en Java, ¿sabes cuál es el entero equivalente al atributo "number" inputType android? (es decir: EditText.setInputType (integer)). Gracias. –

+0

@Rob S .: 'InputType.TYPE_CLASS_NUMBER', como se indica en la documentación. – CommonsWare

+4

Creo que esto debería ampliarse para tener en cuenta los casos en que editText no tiene ningún valor (es decir, editText.getText() == ""). – user1923613

10

Establezca el atributo digits en verdadero, lo que hará que solo permita el número de entradas.

Luego haga Integer.valueOf(editText.getText()) para obtener un valor int.

+5

, esto no causará 'El método valueOf (String) en el tipo Entero no es aplicable para los argumentos (Editable) 'error? – zhangxaochen

+1

@zhangxaochen - 'getText()' no es String. Es necesario llamar a 'getText(). ToString()' –

8

En primer lugar obtener una cadena de un EDITTEXT y luego convertir esta cadena en números enteros como

 String no=myTxt.getText().toString();  //this will get a string        
     int no2=Integer.parseInt(no);    //this will get a no from the string 
0

Esto se puede hacer de 2 maneras:

1: Cambiar el tipo de entrada (en su EditText campo) en el archivo de diseño a android:inputType="number"

O

2: uso int a = Integer.parseInt(yourEditTextObject.getText().toString());