Вот один из фрагментов кода.
if(id == R.id.checkbox1 || id == R.id.checkbox4 && cBoxChecked)
cBoxChecked = true;
else if(id == R.id.checkbox1 || id == R.id.checkbox4 && !cBoxChecked)
answersStatus.set(page, true);
else
answersStatus.set(page, false);
Оператор then первого if
будет выполнен, когда EITHER id == R.id.checkbox1
истинно ИЛИ когда id == R.id.checkbox4 && cBoxChecked
истинно.
Так что, если вы доберетесь до else if
, это означает, что id == R.id.checkbox1
НЕ МОЖЕТ БЫТЬ истинно.Это то, что говорит компилятор.
В Java (и в большинстве / всех других языках программирования, с которыми я столкнулся) приоритет &&
выше, чем ||
.
Возможно, вы имели в видунаписать это:
if ((id == R.id.checkbox1 || id == R.id.checkbox4) && cBoxChecked)
cBoxChecked = true;
else if ((id == R.id.checkbox1 || id == R.id.checkbox4) && !cBoxChecked)
answersStatus.set(page, true);
else
answersStatus.set(page, false);