2017-06-14 71 views
-2

我想评估一个复选框是否在复选框数组上检查,如果其中一个没有被选中我想将3分配给n,但是只有当它们全部被选中时才将3分配给n,有什么想法? , 谢谢。如何评估CheckBox数组上的checkbox.isChecked()?

for (int i = 0; i < checkBoxes.length; i++){ 
    if(!checkBoxes[i].isChecked()){ 
     n = 3; 
    } 
} 
return n; 
+0

你可以添加break;在n = 3之后,如果我正确理解了你的话 –

+2

你应该包括声明'n'的部分。从提供的代码片断中,一旦发现未勾选的复选框,'n'应该变为三,并且没有任何关于“所有”被检查的内容(除非'n'如果全部被勾选,则不成为3)。 – Arc676

+0

在你的if条件下,你可以在新的数组中添加项目,在for循环之后你检查新数组的长度,如果它是空的,那么分配n = 3 –

回答

0
for (int i = 0; i < checkBoxes.length; i++) { 
if(!checkBoxes[i].isChecked()) { 
n = 3;                
break; 
}                 
} 
0

你可以指望的检查箱子的数量数组中,然后检查n值。此示例返回0如果所有复选框被选中,并3否则:

int n = 0; 
for (int i = 0; i < checkBoxes.length; i++){ 
    if(checkBoxes[i].isChecked()) { 
     n++; 
    } 
} 
return n == checkBoxes.length ? 0 : 3; 

注意,如果代码片段你是显示在所有有它,你也可以只return 3每当一个复选框被发现,没有被选中。

+0

非常感谢,它的工作原理: 我设置了一个计数器,每次checkBox被取消选中时,计数器增加,如果计数器保持0,则n = 3。 – 90047872j

0

编辑您这样的代码

for (int i = 0; i < checkBoxes.length; i++){ 
if(!checkBoxes[i].isChecked()){ 
    n = 3; 
    break; 
    } 
} 
return n; 
0
int n=0,checked=0; 
for(int i=0;i<checkBoxes.length;i++){ 
    if(checkBoxes[i]isChecked()){ 
    checked++; 
    } 
n = checked<checkBoxes.length?3:0;