Android布局(三)------选择框RadioGroup、CheckBox

来源:互联网 发布:寿命试验 二型删失数据 编辑:程序博客网 时间:2024/05/17 08:44

一、单项选择(RadioGroup、RadioButton)

      在布局时,我们会发现android不仅提供了RadioGroup,还提供了单独的RadioButton。RadioGroup中显示了3个RadioButton,而RadioButton的个数是可以自己修改的。

      要实现单选功能,必须将RadioButton放在RadioGroup中,否则多个RadioButton不能自动实现单选(即选中A,B的选择框自动变灰)。

      布局实例:

复制代码
 1 <RadioGroup 2                  android:id="@+id/radioGroup1" 3                  android:layout_width="wrap_content" 4                  android:layout_height="wrap_content" 5                  android:orientation="horizontal" 6                  android:layout_alignLeft="@+id/seekBar1"  7                  android:layout_below="@+id/seekBar1">            8              9             <RadioButton10                 android:id="@+id/radio0"11                 android:layout_width="60dip"12                 android:layout_height="40dip"                             13                 android:text="1"14                 android:textColor="#669966" />15 16             <RadioButton17                 android:id="@+id/radio1"18                 android:layout_width="60dip"19                 android:layout_height="40dip" 20                 android:checked="true"              21                 android:text="4"22                 android:textColor="#669966" />23             </RadioGroup>
复制代码

一般我们会对整个RadioGroup设置一个监听器setOnCheckedChangeListener,只要这个Group中的选择状态发生改变,就会触发。

mRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {                        @Override            public void onCheckedChanged(RadioGroup group, int checkedId) {                Toast.makeText(ConfigActivity.this, "更改了选项", 1000).show();            }        });

ps:上述代码中需要注意的一点是:new的时候要加上RadioGroup.,否则会报错。因为RadioButton也能设置OnCheckedChangeListener,这是为了区分到底是RadioGroup,还是RadioButton的listener。

二、多项选择CheckBox

单项选择一般是对整个RadioGroup设置监听,而不是对每一个RadioButton设置;多项选择一般会对每个CheckBox设置监听器。