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.

我不知道这里的问题是什么,特别是因为我的代码中什至没有"

这是我的代码...

4

3 回答 3

1

您应该对您的字段进行输入验证。根据错误消息,您似乎正在尝试解析空字符串。相反,您应该检查字符串是否为空,然后尝试解析 int。

正如 Chin Boon 指出的那样,您应该使用Integer.parseInt(String)

为了防止您的程序彻底崩溃,您还可以将该行包装在 try/catch 块中,捕获 NumberFormatException 并适当地处理它。

于 2012-04-29T05:37:36.850 回答
0

大概就在这条线上...

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

我会建议在某处有一个字符department已经传入但没有打印到错误输出中,例如换行符、制表符或其他不可打印的空白字符?

不确定那里是否有字符是因为它是如何输入到该字段中的,或者可能是由于 unicode 或键盘输入了不寻常的值?

您能否检查一下,如果仍然无法正常工作,请在此处发布一些代码。

于 2012-04-29T03:21:09.887 回答
0

在将字符串解析为整数之前修剪并切碎值。

怀疑可能有空格或换行符。

最好使用 Integer 类的 parseInt 方法,尽管 new Integer(mystery) 隐式使用 parseInt。

int a = Integer.parseInt(myStr);

于 2012-04-29T05:34:08.147 回答