Android Problem mit Long.getLong() bzw. Integer.getInteger()

achilles

Mitglied
Hallo,

ich habe ein Problem mit Long.getLong() - und zwar hole ich aus einem EditText einen Wert und möchte ihn mit Long.getLong() in einen Long wandeln, wobei ein Defaultwert geliefert werden soll, wenn das Feld leer ist:

Java:
String txtActual = edtActual.getText().toString();
Long actual = Long.getLong(txtActual, -1);

Egal was ich in das Textfeld eingebe, ich erhalte immer -1, also den Defaultwert.
Wenn ich mir mit

Java:
Log.v(TAG, "txtActual = '" + txtActual + "', actual = " + actual);

die Werte ausgeben lasse, erhalte ich im LogCat zum Beispiel
Java:
txtActual = '2', actual = -1

Ich bin echt ratlos...???:L
 
Da steht in der Doku was von "System value". Ich schätze dass man da so ein Ding übergeben muss, was in irgendeiner XML-Datei (oder dieser R.java) definiert ist. Mit
Code:
long value = -1;
try
{
    value = Long.parseLong(string);
} 
catch (NumberFormatException e)
{
    value = -1; 
}
könnte es gehen. Ggf. in eine statische Utility-Methode packen, falls es an mehreren Stellen gebraucht wird.
 
Jau das war's!
Wer lesen kann ist doch klar im Vorteil: ich habe mich durch das in der Referenz "defValue" dazu verleiten lassen, das als "DefaultValue" zu lesen.

Danke!:toll:
 

Neue Themen


Zurück
Oben