我遇到了以下崩溃......
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.
我不知道这里的问题是什么,特别是因为我的代码中甚至没有"
。
这是我的代码......
答案 0 :(得分:1)
您应该在字段上进行输入验证。根据错误消息,您似乎正在尝试解析空字符串。相反,您应该检查字符串是否为空,然后尝试解析int。
正如Chin Boon指出的那样,你应该使用Integer.parseInt(String)。
为了防止程序彻底崩溃,您还可以将该行包装在try / catch块中,捕获NumberFormatException并正确处理它。
答案 1 :(得分:0)
它可能在这条线上......
switch (new Integer(department.getText().toString()).intValue()) {
我会建议department
中的某个字符已传入,但不会打印到错误输出中,例如新行字符,制表符或其他空白字符不可打印?
由于输入到字段的方式不确定是否有字符,或者由于unicode或键盘输入异常值而不确定?
你可以检查一下,如果它仍然无效,可以在这里发布一些代码。
答案 2 :(得分:0)
在将字符串解析为整数之前修剪并选择该值。
怀疑可能有空格或换行符。
最好使用Integer类的parseInt方法来实现此目的,尽管new Integer(mystery)隐式使用parseInt。
int a = Integer.parseInt(myStr);