2012-04-11 7 views
0

Ich erhalte die folgende Ausnahmeandroid Zahlenformat Ausnahme

java.lang.NumberFormatException: Ungültige int: „“

Es passiert, wenn Sie versuchen, während nichts Wert in den gemeinsamen Präferenzen zu speichern, wurde in das Eingabefeld eingefügt. Das liegt daran, dass ich die Eingabe als int analysiere (da ich eine Subtraktion mit der Figur machen muss)

Das ist kein großes Problem, da die App funktionieren wird, nur wenn jemand die App benutzen möchte wierd und versuchen Sie und drücken Sie die Speichern-Taste ohne Eingabe von Daten, die ich nicht einfügen möchte.

Ich habe versucht, die folgenden:

else if (obj ==null || obj.currentWeight.contains("")||obj.targetWeight.contains("")){ 
      AlertDialog.Builder builder = new AlertDialog.Builder(
        MainActivity.this); 
      builder.setTitle("No Data Stored"); 
      builder.setMessage("Please insert your target weight and your current weight and click Store Weight") 
      .setPositiveButton("OK", null).show(); 

Von dem, was ich machen könnte, wenn ich die obige Aussage als

gehalten
else if (obj ==null){ 

dann, wenn ein Null der Dialog eingefügt wird öffnen würde und eine Anzeige Botschaft.

Ich bekomme die Nummer Format Ausnahme.

würde jede mögliche Hilfe

+0

was ** targetWeight ** hier ..? – ngesh

+0

Zielgewicht und aktuelles Gewicht sind Int von einem Bearbeitungstext \t \t \t int targetWeight = Integer.parseInt (obj.targetWeight); –

+2

Diese Zeile ist Ihr Problem: targetWeight kann null oder leer – Snicolas

Antwort

2

Allgemeine Ausnahmeverarbeitung ist ein guter Ansatz für diese Art von unerwünschtem Verhalten geschätzt werden:

if(obj != null && obj.getTargetWeight() != null) { 
try { 
    int i = Integer.parseInt(obj.getTargetWeight()); 
    //do something if target weight is a number 
} catch(NumberFormatException ex) { 
    //do something if target weight was not a number. 
} 
} 

--- bearbeiten präzisen Ausnahmetyp

+0

Ich werde es versuchen –

+0

Sie mein Freund sind ein Genie. –