在我的xml中:
<CheckBox android:id="@+id/checkboxUpdateLessonPlanAll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chkLessonPlanAll"
android:onClick="onCheckboxClicked"/>
在我的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() + "!!");
}
我可以在LogCat中看到我的日志消息,当我点击复选框但它的状态没有改变时它会显示为false。它仍然没有被检查。
答案 0 :(得分:9)
为什么要尝试用默认行为覆盖默认行为?每次点击都会自动切换复选框。
如果您想对此做出反应,请使用OnCheckedChangeListener
。
答案 1 :(得分:3)
要使CheckBox
选中或取消选中,您也可以使用
box.setChecked(true);
box.setChecked(false);
并获取CheckBox
if(box.isChecked()) {
//do something here...
} else {
//do something here...
}