Android Studio If 语句与 ||和 && 运算符
Android Studio If statement with || and && operator
我正在创建一个应用程序,它可以实时或作为最终结果向用户更新足球比赛的比分。必须至少输入一个分数才能更新 TextView
并显示相关分数。我正在使用以下代码检查一对 EditText
字段中至少有一个不为空:
if(!(et_current.getText().toString().isEmpty())||(!(et_final.getText().toString().isEmpty()))
&& (!(et_current2.getText().toString().isEmpty())||(!(et_final2.getText().toString().isEmpty()))){
if(!(et_final.getText().toString().isEmpty()))
tv_final.setText(et_final.getText().toString());
else
tv_current.setText(et_current.getText().toString());
if(!(et_final2.getText().toString().isEmpty()))
tv_final2.setText(et_final2.getText().toString());
else
tv_current2.setText(et_current2.getText().toString());
}
我希望能够设置正确的 TextView
所以我在原始 if 语句中有另一个 if 语句以确保更新正确的分数。
当我 运行 代码时,我似乎没有通过第一个 if 语句。我使用的格式是否正确,或者是否有更好的方法来完成这些检查?
谢谢!
为了可读性,让一些变量运行
boolean currentEmpty = et_current.getText().toString().isEmpty();
boolean current2Empty = et_current2.getText().toString().isEmpty();
boolean finalEmpty = et_final.getText().toString().isEmpty();
boolean final2Empty = et_final2.getText().toString().isEmpty();
这样您的代码就会更加简洁。像
if( (!currentEmpty || !finalEmpty) || (!current2Empty || !final2Empty)) {
if(finalEmpty) {
tv_current.setText(et_current.getText());
}
else {
tv_final.setText(et_final.getText());
}
if(final2Empty) {
tv_current2.setText(et_current2.getText());
}
else {
tv_final2.setText(et_final2.getText());
}
}
我不确定这是否完全正确,因为我并不完全清楚要求,但它至少应该是一个良好的开端,以了解正在发生的事情。
我正在创建一个应用程序,它可以实时或作为最终结果向用户更新足球比赛的比分。必须至少输入一个分数才能更新 TextView
并显示相关分数。我正在使用以下代码检查一对 EditText
字段中至少有一个不为空:
if(!(et_current.getText().toString().isEmpty())||(!(et_final.getText().toString().isEmpty()))
&& (!(et_current2.getText().toString().isEmpty())||(!(et_final2.getText().toString().isEmpty()))){
if(!(et_final.getText().toString().isEmpty()))
tv_final.setText(et_final.getText().toString());
else
tv_current.setText(et_current.getText().toString());
if(!(et_final2.getText().toString().isEmpty()))
tv_final2.setText(et_final2.getText().toString());
else
tv_current2.setText(et_current2.getText().toString());
}
我希望能够设置正确的 TextView
所以我在原始 if 语句中有另一个 if 语句以确保更新正确的分数。
当我 运行 代码时,我似乎没有通过第一个 if 语句。我使用的格式是否正确,或者是否有更好的方法来完成这些检查?
谢谢!
为了可读性,让一些变量运行
boolean currentEmpty = et_current.getText().toString().isEmpty();
boolean current2Empty = et_current2.getText().toString().isEmpty();
boolean finalEmpty = et_final.getText().toString().isEmpty();
boolean final2Empty = et_final2.getText().toString().isEmpty();
这样您的代码就会更加简洁。像
if( (!currentEmpty || !finalEmpty) || (!current2Empty || !final2Empty)) {
if(finalEmpty) {
tv_current.setText(et_current.getText());
}
else {
tv_final.setText(et_final.getText());
}
if(final2Empty) {
tv_current2.setText(et_current2.getText());
}
else {
tv_final2.setText(et_final2.getText());
}
}
我不确定这是否完全正确,因为我并不完全清楚要求,但它至少应该是一个良好的开端,以了解正在发生的事情。