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());
        }
    }

我不确定这是否完全正确,因为我并不完全清楚要求,但它至少应该是一个良好的开端,以了解正在发生的事情。