简体   繁体   中英

Android Development: Checkbox setChecked not working

In my xml:

<CheckBox android:id="@+id/checkboxUpdateLessonPlanAll"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/chkLessonPlanAll"
            android:onClick="onCheckboxClicked"/>

In my java:

public void onCheckboxClicked(View view) {
    //CheckBox box = (CheckBox) view;
    CheckBox box = (CheckBox) findViewById(R.id.checkboxUpdateLessonPlanAll);
    box.setChecked(!box.isChecked());
    Log.v("qwerty", "checkbox clicked " + box.isChecked() + "!!");
}

I can see my log message in LogCat and it shows it as false when I click on the checkbox but its state doesn't change. It remains unchecked.

Why would you try to overwrite the default behavior with something like the default behavior? The checkbox toggles automatically on every click.

If you want to react on that, use the OnCheckedChangeListener .

To Make CheckBox checked or unchecked you can also use like

box.setChecked(true);

box.setChecked(false);

and to get state of CheckBox

if(box.isChecked()) {

  //do something here...

} else {

  //do something here...

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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