學(xué)習(xí)目的:
1、掌握在Android中如何建立CheckBox
2、掌握CheckBox的常用屬性
3、掌握CheckBox選中狀態(tài)變換的事件(監(jiān)聽器)
CheckBox簡介:
CheckBox和Button一樣,也是一種古老的控件,它的優(yōu)點(diǎn)在于,不用用戶去填寫具體的信息,只需輕輕點(diǎn)擊,缺點(diǎn)在于只有“是”和“否”兩種情況,但我們往往利用它的這個(gè)特性,來獲取用戶的一些信息。
如一個(gè)身份表單中,常常讓用戶填寫“是否已經(jīng)結(jié)婚”,顯然讓用戶去填寫“是”或“否”是不合理的,理想的情景是用如下控件:

選中后的狀態(tài):

借鑒我在Button教程中的方式,建立CheckBox的布局:
<CheckBox
android:id="@+id/cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="已婚"
></CheckBox>
顯然,Checked屬性是CheckBox最重要的屬性之一,改變它的方式有三種:1、XML中申明 2、代碼動(dòng)態(tài)改變 3、用戶觸摸
它的改變將會(huì)觸發(fā)OnCheckedChange事件,而您可以對(duì)應(yīng)的使用OnCheckedChangeListener監(jiān)聽器來監(jiān)聽這個(gè)事件,如果您對(duì)監(jiān)聽器不熟悉,可以先學(xué)習(xí)我寫的
《Android控件系列之Button》。如果您對(duì)如何在代碼中獲取控件不熟悉,可以學(xué)習(xí)我寫的Android控件系列之XML靜態(tài)資源
具體的匿名監(jiān)聽方法代碼如下:
//獲取CheckBox實(shí)例
CheckBox cb = (CheckBox)this.findViewById(R.id.cb);
//綁定監(jiān)聽器
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();
}
});
總結(jié):本文以最簡單的例子闡述了如何在Android中使用CheckBox,并能監(jiān)聽它的選中狀態(tài)改變事件,從而實(shí)現(xiàn)您需要的業(yè)務(wù)邏輯。