我正在尝试的是在选中“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();
}
}
});
答案 0 :(得分:4)
你想在依赖复选框上调用setChecked(),而不是isChecked()。你只是测试是否每个都被检查,然后扔掉结果。
http://developer.android.com/reference/android/widget/CompoundButton.html#setChecked(boolean)
答案 1 :(得分:2)
使用此代码。
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);
}
}
});
答案 2 :(得分:0)
您正在调用isChecked()
方法,该方法返回一个布尔值来告诉您是否选中了复选框。请改用setChecked()
,并传入true或false。