<分区>
当该字段留空时,它会使应用程序崩溃。我该如何阻止它?
EditText editText = (EditText)findViewById(R.id.editText);
userNumber = Integer.parseInt(editText.getText().toString());
我试着给它一个 .setError("Don't leave this blank!"),但它似乎没有做这件事,应用程序在那里崩溃了。
<分区>
当该字段留空时,它会使应用程序崩溃。我该如何阻止它?
EditText editText = (EditText)findViewById(R.id.editText);
userNumber = Integer.parseInt(editText.getText().toString());
我试着给它一个 .setError("Don't leave this blank!"),但它似乎没有做这件事,应用程序在那里崩溃了。
最佳答案
尝试从空或空字符串 parseInt
引发FormatException
。因此,要么将您的代码包装在 try/catch 中:
try {
userNumber = Integer.parseInt(editText.getText().toString());
}catch(Exception e){
// friendly error to the user: field is incorrect
}
或者使用 if 语句来确保 editText 不为空:
if(editText.getText().length() > 0){
// your code
}
if 解决方案假定您的 editText 只接受数字(在您的 xml 布局中使用属性 android:inputType="number"
)。
作为旁注,为了获得良好的实践,请注意将 parseInt
包装在 try/catch 中始终是明智的做法。
关于java - 空白字段,java导致应用崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602573/
相关文章:
java - 在 java 中序列化一个 HashMap 以将它从服务器传递到 java 中的客户端
java - 如何管理由于发布请求和历史记录而产生的 session 属性
Android 客户端登录身份验证 - HTTPURLConnect
android - 如何将一组图标导入 Android Studio 项目
android-studio - 如何使表情符号在 windows android studio 代码编辑器 View 中显示良好?
java - Android SQLite游标返回33个结果,但调试仅输出17个