2013-12-03 4 views
0

У меня есть блок кода, который проверяет проверенное статус флажок & отображает значения соответственно , но в моем коде я есть место, где я должен использовать заявление каки оператор не работает, когда используется в блоке еще ид

if (cb1.isChecked()) { 
a="abc";   
} 

else if(cb1.isChecked() && cb2.isChecked()) { 
a="pqr"; 
} 

else if(cb2.isChecked()){ 
a="asd"; 
} 

else{ 
a="xyz"; 
} 

Я получаю значение, если CheckBox1 или checkbox2 выбран, но когда они будут выбраны оба галочек я получить результат как «ABC» только

любой идеи, что случилось с кодом ??

+4

в лестнице if-else выполняется только один блок ... –

ответ

1

Это потому, что его else if вместо if s. Как только первый удовлетворен, он не проверяет других. Измените порядок, в котором вы их проверяете. Так что-то вроде

if (cb1.isChecked() && cb2.isChecked()) { 
    a="abc";   
} 
else if(cb1.isChecked()) { 
    a="pqr"; 
} 
else if(cb2.isChecked()){ 
    a="asd"; 
} 
else{ 
    a="xyz"; 
} 
0

Изменить первое, если условие

если (cb1.isChecked() & &! Cb2.isChecked())

В настоящее время, так как первый, если условия зависит только от значения cb1, поэтому управление переходит в первый блок.

Контроль НИКОГДА не входит во второй блок в настоящей логике.

0

Изменить на:

if(cb1.isChecked() && cb2.isChecked()) { 
a="pqr"; 
} 

else if (cb1.isChecked()) { 
a="abc";   
} 

else if(cb2.isChecked()){ 
a="asd"; 
} 

else{ 
a="xyz"; 
} 

В вашем коде, если CD1 был проверен, он не будет идти в еще больше.

0

В если еще лестница, только один блок будет выполнен, вы должны сделать это как следующий:

if (cb1.isChecked()) { 
    a = cb2.isChecked() ? "pqr" : "abc";  
} else if(cb2.isChecked()){ 
    a="asd"; 
} 
else{ 
    a="xyz"; 
} 

ИЛИ

if(cb1.isChecked() && cb2.isChecked()) { 
    a="pqr"; 
} 
else if (cb1.isChecked()) { 
    a="abc";   
} 
else if(cb2.isChecked()){ 
    a="asd"; 
} 
else{ 
    a="xyz"; 
} 
0

С другой, если он не есть он входит первый, если он не вводит остальных, просто возьмите только что и только пользователя, и он работает

Смежные вопросы