Java 应用程序将空编辑文本识别为0

Java 应用程序将空编辑文本识别为0,java,android-studio,Java,Android Studio,嗨,我正在做两个活动的计算器。在第一个活动中,我有3个编辑文本。这是我的问题,因为当我不引入任何值来编辑文本时,我想进入下一个活动,我的应用程序停止工作。因此,当我不向EditText添加任何值时,如何执行此操作?应用程序会将其识别为0?您可以使用删除EditText文本中的所有前导和尾随空格,如果执行此操作后长度为0,则EditText为空 final EditText editText = (EditText) findViewById(R.id.edittext); final Strin

嗨,我正在做两个活动的计算器。在第一个活动中,我有3个编辑文本。这是我的问题,因为当我不引入任何值来编辑文本时,我想进入下一个活动,我的应用程序停止工作。因此,当我不向EditText添加任何值时,如何执行此操作?应用程序会将其识别为0?

您可以使用删除
EditText
文本中的所有前导和尾随空格,如果执行此操作后长度为0,则
EditText
为空

final EditText editText = (EditText) findViewById(R.id.edittext);
final String text = editText.getText().toString();
final int num;
if(text.strip().isEmpty()){
    num = 0;
} else {
    num = Integer.parseInt(text);
}
更安全的方法是尝试使用获取
EditText
文本的数值。如果字符串不能被解析为数字,它将抛出一个错误,您可以捕获该数字,然后将该数字设置为0

final EditText editText = (EditText) findViewById(R.id.edittext);
final String text = editText.getText().toString();
int num;
try{
   num = Integer.parseInt(text);
} catch(NumberFormatException e){
   num = 0;
}