[英]check all checkboxes, when one checkbox is clicked in android?
我正在尝试的是在选中“ cbkomplet”时选中所有这些复选框。 但这是行不通的。 有什么帮助吗? 这是我到目前为止的代码。
提前致谢。
CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.cbkomplet );
repeatChkBx.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
cbreg.isChecked();
cbtank.isChecked();
cbzoop.isChecked();
cbkom.isChecked();
cbmaske.isChecked();
cbbl.isChecked();
}
}
});
您要在从属复选框上调用setChecked()而不是isChecked()。 您只是在测试是否每个都经过检查,然后丢弃结果。
http://developer.android.com/reference/android/widget/CompoundButton.html#setChecked(boolean )
使用此代码。
chkbxAll = (CheckBox)findViewById(R.id.cbAll);
chkbxOne = (CheckBox)findViewById(R.id.chkbxOne );
chkbxTwo = (CheckBox)findViewById(R.id.chkbxTwo );
chkbxThree = (CheckBox)findViewById(R.id.chkbxThree );
chkbxFour = (CheckBox)findViewById(R.id.chkbxFour );
chkbxAll .setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
if (chkbxAll.isChecked()) {
chkbxOne.setChecked(true);
chkbxTwo.setChecked(true);
chkbxThree.setChecked(true);
chkbxFour.setChecked(true);
}else {
chkbxOne.setChecked(false);
chkbxTwo.setChecked(false);
chkbxThree.setChecked(false);
chkbxFour.setChecked(false);
}
}
});
您正在调用isChecked()
方法,该方法返回一个布尔值以告诉您是否选中了该复选框。 请改用setChecked()
,并传递true或false。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.