当用户单击按钮时,尝试确认EditText工具不为空。只要EditText不为空,代码就可以运行。但是只要它是空白的,我的程序就会崩溃。我有什么想法我做错了吗?感谢。
if (et1.getText().toString() != null) {
inpt_weight = Integer.parseInt(et1.getText().toString());
Toast.makeText(getBaseContext(), "weight is not null", Toast.LENGTH_LONG).show();
} else {
inpt_weight = 0;
Toast.makeText(getBaseContext(), "weight is null", Toast.LENGTH_LONG).show();
};
答案 0 :(得分:1)
我认为它试图将空字符串(“”)解析为一个不可能的整数 尝试:
if (!et1.getText().toString().equalsIgnoreCase("") && et1.getText().toString() != null)
答案 1 :(得分:1)
这将是一个好方法:
if(et1.getText().toString().trim().length()==0){
Log.d("No data","No text found in the edit text");
}
这也会检查用户是否只放了空格。
在您的代码中,我看到您正在将文本转换为数字。 在这种情况下,要么为编辑文本添加正确的IMEMethod以便它只使用数字,或者在代码中检入用户仅输入数字字符,否则如果用户输入非数字,则在转换时最终会出现NumberFormatException字符。
答案 2 :(得分:1)
请尝试以下代码..
if(et1.getText().toString().equals("")){
Toast.makeText(getApplication(), "weight is null", Toast.LENGTH_SHORT).show();}
else{
inpt_weight = Integer.parseInt(et1.getText().toString());
Toast.makeText(getApplication(), "weight is not null & it is : "+inpt_weight,Toast.LENGTH_SHORT).show();
}