检查所有复选框,当在android中单击一个复选框时?

时间:2012-03-19 16:18:48

标签: java android checkbox

我正在尝试的是在选中“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(); } } });

3 个答案:

答案 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。