【发布时间】:2014-04-07 08:44:39
【问题描述】:
我编写了这段代码,当我尝试将可编辑的值转换为整数时,程序崩溃了,因为它输入的文本是十进制的,我怀疑它是在应用程序必须将可编辑的值更改为字符串的时候,因为事实上,当编辑文本后编辑文本为空时,它会崩溃。
EditText Y = (EditText) findViewById(R.id.y);
Y.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
if(s != null){
int Yvalue = Integer.parseInt(s.toString());
}
}
【问题讨论】:
-
Y为 null 或Integer.parseInt失败 -
也许使用try-catch?尝试 { int Yvalue = Integer.parseInt(s); } catch (Exception e) { // 无法解析 }
-
Integer.parseInt()在EditText中提供小数点时会抛出NumberFormatException。 -
您的问题不清楚。您希望能够处理带小数位的数字(即将它们读取为浮点数)还是希望更好地处理错误情况?
标签: java android crash android-edittext