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

一、单项选择(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             <RadioButton
10                 android:id="@+id/radio0"
11                 android:layout_width="60dip"
12                 android:layout_height="40dip"                             
13                 android:text="1"
14                 android:textColor="#669966" />
15 
16             <RadioButton
17                 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设置监听器。

 

 

posted @ 2013-04-17 09:55  little_star  阅读(1680)  评论(0编辑  收藏  举报