Grundsätzlich möchte ich einen EditText in Android, in den ich einen ganzzahligen Wert eingeben kann. Vielleicht gibt es dafür ein passenderes Objekt als EditText?
Antworten:
Verwenden Sie vorerst eine EditText
. Verwenden android:inputType="number"
Sie diese Option, um die numerische Darstellung zu erzwingen. Konvertieren Sie die resultierende Zeichenfolge in eine Ganzzahl (z Integer.parseInt(myEditText.getText().toString())
. B. ).
In Zukunft könnten Sie ein NumberPicker
Widget in Betracht ziehen , sobald es verfügbar ist (voraussichtlich in Honeycomb).
InputType.TYPE_CLASS_NUMBER
, Wie in der Dokumentation angegeben.
Setzen Sie das Ziffernattribut auf true, wodurch nur Zahleneingaben zulässig sind.
Dann tun Sie Integer.valueOf(editText.getText())
, um einen int-Wert herauszuholen.
The method valueOf(String) in the type Integer is not applicable for the arguments (Editable)
Fehler?
getText()
ist kein String. Es wird benötigt, um anzurufengetText().toString()
Holen Sie sich zuerst eine Zeichenfolge aus einem EDITTEXT und konvertieren Sie diese Zeichenfolge dann in eine Ganzzahl wie
String no=myTxt.getText().toString(); //this will get a string
int no2=Integer.parseInt(no); //this will get a no from the string
Sie können dies in 2 Schritten tun:
1: Ändern Sie den Eingabetyp (in Ihrem EditText
Feld) in der Layoutdatei inandroid:inputType="number"
2: Verwenden int a = Integer.parseInt(yourEditTextObject.getText().toString());