我在代码的这一行得到NumberFormatException错误。我该怎么办?
String employ = intent.getStringExtra("employeeid").trim();
spinEmployee.setSelection(Integer.parseInt(employ)-1);
答案 0 :(得分:2)
您可以通过添加try catch block
来处理此问题。
创建一个方法,从像这样的
字符串中获取有效的intpublic int getValidIntFromString(String inputstring) {
if (inputstring!= null) {
if (!inputstring.equals("")) {
try {
return Integer.parseInt(inputstring);
} catch (NumberFormatException e) {
// TODO: handle exception
Log.e("Error-- > ", e.toString());
return 0;
}
} else {
return 0;
}
} else {
return 0;
}
}
现在你可以通过调用
将字符串转换为intint intemploy = getValidIntFromString(employ);
此处employ
将是您要从String解析Int的字符串。
注意:如果您从employ
获得EditText
数据,请在xml文件中设置inputType="number"
以避免此类异常。
就像这样
<EditText
android:id="@+id/myEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number" />
答案 1 :(得分:1)
例外情况说EMPLOY的格式无效,也许它是一个类似于&#39; 2d&#39; 33a&#39;
的字符串