2017-01-08 6 views
0

Ich brauche einen Integer-Wert in die Datenbank zu speichern, so muss ich den Wert der Textfelder in ganze Zahlen umwandeln und aus irgendeinem Grund erhalte ich diese Ausnahme:Android Studio Bearbeiten von Text numerischen Typ

java.lang.NumberFormatException: Invalid int: "android.widget.EditText{431fbec VFED..CL. ........ 0,250-1080,386 #7f0b0076 

I setze den editText als Zahlentyp, aber wenn ich den Wert dieses Feldes zur Integer-Variablen hinzufügen will, bekomme ich die obige Ausnahme.

Integer year = Integer.parseInt(editTextYear.toString()); 

Diese Codezeile ist das Problem; Ich habe versucht, zuerst die Zeichenfolge zu erstellen und dann den Wert zu int zu analysieren, aber es funktioniert nicht.

+0

Was ist Ihre Eingabe, wenn Sie eine Ausnahme bekommen? –

Antwort

0

Verwenden Sie die Eigenschaft getText(), um eine Eingabe von EditText zu erhalten. toString() Eigenschaft für Objekt gibt Ihnen Objektdarstellung in String Formular zurück.

final String input = editTextYear.getText().toString(); // To get input and 
                 // then parse it 
if(input!= null) 
Integer year = Integer.parseInt(input); 
0

Rasi ist im Wesentlichen richtig, aber ich würde isEmpty anstelle von null verwenden.

Also statt

editTextYear.toString() 

sollte es

editTextYear.getText().toString() 

sein, aber eine Nullpointer zu vermeiden, tun gerade:

if(!input.isEmpty) 

zu vermeiden, entweder mit einem leeren oder einen Nullwert dort

Verwandte Themen