单选按钮只能选择一个,而有时需要选择多个,这时就需要用到复选框。复选框(CheckBox)也是一种双状态的按钮,可以选中或不选中。它不同于单选按钮(RadioButton),根据名称就可以知道它可以选择多个选项,如果单选按钮就好比做单项选择题,而复选框则是做多项选择题。

  相对于RadioButton, CheckBox在代码方面就没有那么复杂,一个选项就一个CheckBox,两个选项就两个CheckBoxo对于事件监听它与RadioButton的监听是一样的,同样是通过onCheckedChangeListener来监听的。

  下面就通过一个实例来说明。我们的程序主要构造多个CheckBox的对象,以及一个TextView对象,并通过 setOnCheckedChangeLisener实现onCheckedChanged。方法来更新TextView文字。

  (1)界面布局的实现。

C?xna version=’,1.0H encoding=”utf~8,,?>

<LmearLayout xmlns: android=”http: / /schemas . android, com/apk/res/android11
android:orientation=”vertical”
android:layout„width=nfill_parent”
android:background-”#ffffff”
android:layout_height-nfill_parent” >

<TextView

android:id-“@+id/myTxtn

android: textColor=,‘# 000 000″
android: textSize-^lSsp*’
android:layout_width=”fill_parent”
android: layout_.height-” wrap _content”
android:text=”夏选框效果\n你的爱好是什么? ” />
<CheckBox

android: id^H(3+id/myCheckBox01″

android:layout_width=”wrap_content”
android:layout_height-Mwrap_contentn
android:textColor^”#000000″

android:textsize=H18sp”
android”篮球”/>

<CheckBox

android: id-,,@+id/myCheckBox02′f

android:layout_widtk=”wrap_content”

android: textColor^*’#000000″

android:textSize-n18sp”

android:layout_height=nwrap_contentn

android:       “足球” />

</LinearLayout>

  (2)复选框事件。我们可以把界面上的复选框全部选中,也可以取消选中。

public void onCreate(Bundle savedlnstanceState) {
super.onCreate(savedinstanceState);
setContentview(R.layout ・main);

mView-(Textview) findViewByld(R.id.myTxt);

mBoxl^(CheckBox) findViewByld(R.id.myCheckBoxOl);
mBox2=(CheckBox) findViewByld(R.id.myCheckBox02);
//添加事件

mBoxl.setOnCheckedChangeListener(myListener);
mBox2 
・ setOnCheckedChangeListener(myListener);

文本框: //按钮事件

private OnCheckedChangeListener myListener = new OnCheckedChangeListener ()

public void onCheckedChanged(CompoundBut七on buttonview, boolean

文本框: isChecked) {

String strl = mBoxl .getTex. toSSing()

String atr2 = mBox2. getText 0 .toStringO ;

if(mBoxl.isChecked()™true&&mBox2.isChecked()==true){

mView. setText (n 复选框效果:’□我的爱好是:”十 strl + ”,” + str2);

}else if(mBoxl.isChecked()==true&&mBox2.isChecked()==false){

mView.setText {“复选框效果:\n我的爱好是:” + strl);

}else if(mBoxl.isChecked()==false&&mBox2.isChecked()==true){

mView. setText (H复选框效果:\ri我的爱好是:”+ str2);

}else if(mBoxl.isChecked()==false&&mBox2.isChecked()-=false){

mView. setText (“复述框效果:\n我的爱好是:”);