CheckBox和Button一样,也是一种古老的控件,它的优点在于,不用用户去填写具体的信息,只需轻轻点击,缺点在于只有“是”和“否”两种情况,但往往利用它的这个特性,来获取用户的一些信息。如一个身份表单中,常常让用户填写“是否已经结婚”,显然让用户去填写“是”或“否”是不合理的,理想的情景是用如下控件:
选中后的状态:
建立checkBox的布局:
android:id="@+id/cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="已婚"
>
显然,Checked属性是CheckBox最重要的属性之一,改变它的方式有三种:
1、XML中申明,在xml布局中指定默认的状态android:checked="true"。
2、代码动态改变,在Java中可以直接调用checkbox.setChecked(true);
3、用户触摸,即注册OnCheckedChangeListener事件。
实例如下:
//获取CheckBox实例
CheckBox cb = (CheckBox)this.findViewById(R.id.cb);
//绑定事件
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// TODO Auto-generated method stub
Toast.makeText(MyActivity.this, arg1?"选中了":"取消了选中" , Toast.LENGTH_LONG).show();
}
});
在开发当中,默认的状态是未选中的,如果需要默认选中,通常是在xml中指定即可。
布局文件:android:checked="true"Java代码:checkbox.setChecked(true);