2012-04-29 17 views
2

我收到下列崩潰...無法解析'爲整數,那麼它退出

04-27 03:19:08.858: E/AndroidRuntime(448): java.lang.RuntimeException: Unable to start activity ComponentInfo{walmart.namespace/walmart.namespace.WalmartActivity}: java.lang.NumberFormatException: unable to parse '' as integer. 

我不知道這裏的問題是,尤其是因爲我甚至不有"在我的代碼中。

這裏是我的代碼...

+3

將來,請在問題中張貼適當的代碼,而不是在外部鏈接上。 – wattostudios 2012-04-29 03:21:50

+0

如果您的問題已得到解答,或者不再有效,請勾選以選擇最合適的答案,以便每個人都知道問題已得到解決。謝謝。 – wattostudios 2012-05-14 13:42:01

回答

0

它大概在這條線...

switch (new Integer(department.getText().toString()).intValue()) { 

我會建議department中有一個字符已經被傳入但沒有打印輸出到錯誤輸出,例如新行字符,製表符或其他空白字符是不可打印的?

不知道是否可能有字符在那裏,因爲它是如何被輸入到現場,或可能是由於unicode或鍵盤輸入異常值?

你可以檢查這個,並在這裏發佈一些代碼,如果它仍然不工作。

0

在將字符串解析爲整數之前修剪並跺下該值。

懷疑可能有空格或換行符。

儘管新整數(神祕)隱式使用parseInt,但最好使用Integer類的parseInt方法。

int a = Integer.parseInt(myStr);

+0

假設我把它放在我的公開視圖中,並將mystring重命名爲department,我現在得到一個錯誤,類型Integer中的方法parseInt(String)不適用於參數(EditText)。 – 2012-04-29 12:30:48

1

您應該對您的字段進行輸入驗證。根據錯誤消息,它看起來像你試圖解析一個空字符串。相反,你應該檢查字符串是否爲空,然後嘗試解析int。

正如Chin Boon指出的那樣,您應該使用Integer.parseInt(String)

爲了防止程序崩潰,您也可以將行包裝在try/catch塊中,捕獲NumberFormatException並正確處理它。

+1

好;你說明問題實際上是什麼。 ('''不是'''') – 2012-04-29 06:52:35

相關問題