我创建了编辑文本,用户可以在其中输入数字。在我的应用程序中,用户可以通过单击提交按钮来提交值。(注意:最初我在代码中使用 setText() 将所有 3 个 EditText 设置为“”)提交后,我保留了以下几行以在方法中检索值。
String st1=editText1.getText().toString();
int tempVal1=Integer.parseInt(st);
String st2=editText2.getText().toString();
int tempVa2=Integer.parseInt(st);
String st3=editText2.getText().toString();
int tempVal3=Integer.parseInt(st);
但我的问题是,如果用户没有在第一个 editText 中输入任何值,只填写第二个和第三个并提交,那么 tempVal1 中的值应该为 0。但是我得到异常是因为第一个语句因为没有任何数据。当他没有在相应的编辑文本中填写任何内容时,如何避免此异常并保持 tempVal 为 0?
我还有一个疑问,当我添加此 int x=Integer.valueOf(editText.getText());
行时,出现以下错误。为什么?Integer 类型中的方法 valueOf(String) 不适用于参数(可编辑)
请澄清我的疑惑。
最佳答案
在将其转换为数字之前,您需要检查 EditText
。
if( !editText1.getText().toString().equals("") && editText1.getText().toString().length() > 0 )
{
// Get String
Integer.parseInt(editText1.getText().toString());
}
关于android - 在edittext中没有输入任何内容时如何避免异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363421/