Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
531 views
in Technique[技术] by (71.8m points)

checkbox - Checking Multiple Checkboxes in Android

CheckBox checkOne = (CheckBox) findViewById(R.id.checkOne);
checkOne.setSelected(true);

CheckBox checkTwo = (CheckBox) findViewById(R.id.checkTwo);
checkTwo.setSelected(true);

CheckBox checkThree = (CheckBox) findViewById(R.id.checkThree);
checkThree.setSelected(true);

I am using the above code to check or uncheck multiple check boxes.

My question is, is there any way I can get all check boxes at once? (I don't wanna use arrays) For example, my check boxes are in a LinearLayout, so can I get all the check boxes as the child of LinearLayout?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If the parent LinearLayout contains only the checkboxes, you can do this:

//ll is the LinearLayout holding the children
for(int i = 0; i < ll.getChildCount(); i++) {
    ((CheckBox)ll.getChildAt(i)).setChecked(true);
}

if you have more views in the LinearLayout you could add a check like this:

for(int i = 0; i < ll.getChildCount(); i++) {
    View v = ll.getChildAt(i);
    if(v instanceof CheckBox) {
        ((CheckBox)v).setChecked(true);
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...