繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM