【发布时间】:2014-03-14 22:06:32
【问题描述】:
我有问题,
我有复选框,即 cb1、cb2、cb3、cb4。 我想,当我检查cb1时,cb2将被禁用,cb3,cb4保持启用,之后我再次检查cb3,然后cb4也将被禁用。
第一步效果很好,但是当我尝试检查 cb3 时,cb4 不会被禁用。 有我的代码
public void onCheckboxClicked(View v){
CheckBox cb1= (CheckBox)findViewById(R.id.cb1);
CheckBox cb2= (CheckBox)findViewById(R.id.cb2);
CheckBox cb3= (CheckBox)findViewById(R.id.cb3);
CheckBox cb4= (CheckBox)findViewById(R.id.cb4);
switch (v.getId()) {
case R.id.cb1:
if (cb1.isChecked()) {
cb2.setEnabled(false);
}else {
cb2.setEnabled(true);
}
break;
//......
请帮帮我!!
更新问题:
我的意思是这样,我有10个复选框,当我检查其中一个时,然后可以检查的复选框数量变成5,然后当检查了这5个复选框之一时, 然后它会再次减少到 2 个可以被选中的复选框, 会这样直到没有更多的复选框可以被选中
【问题讨论】:
-
我认为你需要使用单选按钮
-
“禁用”实际上是指“未选中”还是真正禁用,例如“不可点击”?如果是后者,请提供在检查
cb3时尝试禁用cb4的代码。 -
使用单选组按钮。
-
根据您的更新:那么用户从“无法选中更多复选框”返回到 10 个复选框的程序是什么?
-
程序是,在最后一个checkbox被选中变成unchecked的时候,它会让一个disable checkbox变回enable checkbox,当没有更多checkbox被选中时,10个checkbox都会被选中启用以选中
标签: android checkbox android-checkbox