NumberFormatException错误 - Android

时间:2014-03-08 06:45:59

标签: android numberformatexception

我在代码的这一行得到NumberFormatException错误。我该怎么办?

String employ = intent.getStringExtra("employeeid").trim();
spinEmployee.setSelection(Integer.parseInt(employ)-1);

2 个答案:

答案 0 :(得分:2)

您可以通过添加try catch block来处理此问题。

创建一个方法,从像这样的

字符串中获取有效的int
public 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;
    }
}

现在你可以通过调用

将字符串转换为int
int 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;

的字符串