2012-04-11 64 views
0

我得到下面的異常Android的數字格式異常

java.lang.NumberFormatException:無效INT:「」

當您嘗試一個值存儲到同時沒有共享偏好這是發生已被插入到輸入字段中。這是因爲我解析輸入爲一個int(因爲我需要做一個與數字相減)

這不是一個問題,因爲該應用程序將工作,但只是因爲有人使用該應用程序想成爲更奇怪,並嘗試按保存按鈕,而不輸入任何數據,我不希望它插入。

我曾嘗試以下:

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(); 

從我可以讓出,如果我保持在上述語句

else if (obj ==null){ 

那麼如果一個空插入該對話框會打開並顯示一個信息。

我收到數字格式異常。

任何幫助,將不勝感激

+0

什麼**目標重量**在這裏..? – ngesh 2012-04-11 10:38:08

+0

目標權重和當前權重是從編輯文本中得到的int \t \t \t int targetWeight = Integer.parseInt(obj.targetWeight); – 2012-04-11 10:39:51

+2

這條線是你的問題:targetWeight可以爲空或空 – Snicolas 2012-04-11 10:40:32

回答

2

一般來說,異常處理是對這種意外的行爲,一個很好的辦法:

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. 
} 
} 

---編輯,以精確異常類型

+0

我應該去 – 2012-04-11 10:45:14

+0

你我的朋友是天才。 – 2012-04-11 10:58:14