user1767260
user1767260

Reputation: 1561

How to uncheck a checked Android Checkbox

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. I have tried with the following code.But it is not working.

if (chkOthers.isChecked()) 
    chkOthers.setChecked(false);
    chkOthers.setSelected(false);
}

Upvotes: 12

Views: 61324

Answers (4)

Daksh Rawal
Daksh Rawal

Reputation: 418

Button b = findViewById(R.id.{yourButtonID});
b.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        chk1.setChecked(false);
        chk2.setChecked(false);
        chk3.setChecked(false);
        chk4.setChecked(false);
        chk5.setChecked(false);
    }
});

Upvotes: 0

Tasnuva Tavasum oshin
Tasnuva Tavasum oshin

Reputation: 4740

   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);
               }
            }
        });

Upvotes: 0

AndroGeek
AndroGeek

Reputation: 1300

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();
            }

        }
    });
       }
}

Upvotes: 19

Ethan Hunt
Ethan Hunt

Reputation: 366

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.

Upvotes: 10

Related Questions