Android: Checking One Checkbox Checks All Checkboxes In The Same Row
My app shows a ListView with a different number of CheckBoxes for each row. The maxium number of CheckBoxes for a row is three. My app looks like this: If the left CheckBox get
Solution 1:
Create a final
variable referencing you ViewHolder
and use this inside you onCheckedChangeListener :
finalDataHolderfinalHolder= holder;
holder.cb1.setOnCheckedChangeListener(newCompoundButton.OnCheckedChangeListener() {
@OverridepublicvoidonCheckedChanged(CompoundButton buttonView, boolean isChecked) {
buttonView.setChecked(isChecked);
//Case1: Left (cb1) gets checked -> set all other right CB´s (cb2 & cb3) checkedif(isChecked){
finalHolder.cb2.setChecked(isChecked); // NO MORE ERROR
finalHolder.cb3.setChecked(isChecked); //NO MORE ERROR
}
}
});
holder.cb2.setOnCheckedChangeListener(newCompoundButton.OnCheckedChangeListener() {
@OverridepublicvoidonCheckedChanged(CompoundButton buttonView, boolean isChecked) {
buttonView.setChecked(isChecked);
//Case2: Middle (cb2) gets checked -> set right CB (cb3) checkedif(isChecked){
finalHolder.cb3.setChecked(isChecked); // NO MORE ERROR
}
//Case3: Middle (cb2) gets unchecked -> set left CB (cb1) uncheckedelse {
finalHolder.cb1.setChecked(isChecked); //NO MORE ERROR
}
}
});
Do the same for cb3
onCheckedChangeListener
as well.
Post a Comment for "Android: Checking One Checkbox Checks All Checkboxes In The Same Row"