【Android】开发入门:CheckBoxes控件使用方法
关于android的常用UI控件前面已经提到过单选框的使用方法,接下来针对多选框进行介绍。
顾名思义,多选框其实跟单选框一样,很简单,只不过单选框是每个选项之间是互斥的,不能多选;而多选框是可以进行多项选择的,所以在显示多选框后要进行检查时候选中每一项。android学习相关步骤如下:
1、首相建立多选框的View视图。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <CheckBox android:id="@+id/checkBox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/checkBox1" android:layout_below="@+id/checkBox1" android:onClick="onCheckClick" android:text="看电影" /> <CheckBox android:id="@+id/checkBox3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/checkBox2" android:layout_below="@+id/checkBox2" android:onClick="onCheckClick" android:text="听音乐" /> <CheckBox android:id="@+id/checkBox4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/checkBox3" android:layout_below="@+id/checkBox3" android:onClick="onCheckClick" android:text="聊天上网" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="48dp" android:layout_marginTop="50dp" android:onClick="onCheckClick" android:text="玩游戏" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/checkBox1" android:layout_alignParentTop="true" android:layout_marginTop="19dp" android:text="兴趣爱好" android:ems="10" > <requestFocus /> </EditText>
</RelativeLayout>
2、创建多选框对应的Activity,并注册监听事件、判断是哪一个多选框Check按钮被选中。
//注册监听事件
public void onCheckClick(View view) {
//判断哪一个Check被选中
boolean isChecked=((CheckBox)view).isChecked();
switch(view.getId()){
case R.id.checkBox1:
if(isChecked){
Toast.makeText(this, ((CheckBox)view).getText(), 1).show();
}else{
//移除选中状态
}
break;
case R.id.checkBox2:
if(isChecked){
Toast.makeText(this, ((CheckBox)view).getText(), 1).show();
}
break;
case R.id.checkBox3:
if(isChecked){
Toast.makeText(this, ((CheckBox)view).getText(), 1).show();
}
break;
case R.id.checkBox4:
if(isChecked){
Toast.makeText(this, ((CheckBox)view).getText(), 1).show();
}
break;
}
}
3、在进行实际编程时,特别注意isChecked的判断,否则就会造成每个多选按钮不互斥了,从而达不到多选框的功能。