使用EditText输入的简单数字导致Android NumberFormatException错误

时间:2011-11-02 05:36:10

标签: android integer android-edittext parseint

所以我有一个带数字输入的简单编辑文本。 用户输入他的电话号码,它显然是保存到DB中的目标。 现在,每次我做

int contactNumber=Integer.parseInt(mContactNumber.getText().toString());

我得到一个错误,因为某些原因它不喜欢数字字符串而引发NumberFormatException。我确保android输入字段中的mContactNumber字段具有

android:input="number"

现在我也试着确定

int contactNumber=Integer.parseInt(mContactNumber.getText().toString().trim());

仍然是同样的错误

有什么想法?

4 个答案:

答案 0 :(得分:5)

尝试将Type设置为'long'而不是'int'。希望这对你有用。

答案 1 :(得分:3)

这可能是因为您将文本字段留空。你确定你没有解析一个空字符串吗?

答案 2 :(得分:2)

你需要提出一个简单的条件:

if(mContactNumber.getText().length()>0)
{
    int contactNumber=Integer.parseInt(mContactNumber.getText().toString().trim());
}

答案 3 :(得分:2)

对于电话号码,您不能将其视为整数。尝试将其作为字符串,在获得该字符串后,您只能通过

检查数字
TextUtils.isDigitsOnly(str);