I have two radio buttons and 5 checkboxes in my android app. and also a save button. When the user clicks save button I need to uncheck the checkboxes checked by the user.
Just use chk1.toggle() onClick of the button to uncheck the checked ones.
public class TestCheckBoxActivity extends Activity {
/** Called when the activity is first created. */
CheckBox chk1, chk2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
chk1 = (CheckBox)findViewById(R.id.checkBox1);
chk2 = (CheckBox)findViewById(R.id.checkBox2);
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(chk1.isChecked()){
chk1.toggle();
}
if(chk2.isChecked()){
chk2.toggle();
}
}
});
}
}
holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(holder.checkBox.isChecked()) {
holder.checkBox.setChecked(false);
}else {
holder.checkBox.setChecked(true);
}
}
});
If you want to use checkboxes for this, you can set an onItemClickListener on both the checkboxes and need to unselect other in the onItemClick() Method. An example would be like this:-
CheckBox cb1,cb2;
//Considering you can initialize the above variables
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener{
onCheckedChanged (CompoundButton view, boolean isChecked){
cb2.setChecked(false);
}
});
cb2.setOnCheckedChangeListener(new OnCheckedChangeListener{
onCheckedChanged (CompoundButton view, boolean isChecked){
cb1.setChecked(false);
}
});
I would reccomend that you should use radio buttons for this behavior since they come with this functionality built in from the beginning.