您的位置:首页 > 其它

RadioButton和RadioGroup的使用

2017-01-24 00:14 274 查看
学习目的:

1、掌握在Android中如何建立RadioGroup和RadioButton

2、掌握RadioGroup的常用属性

3、理解RadioButton和CheckBox的区别

4、掌握RadioGroup选中状态变换的事件(监听器)

RadioButton和CheckBox的区别:

1、单个RadioButton在选中后,通过点击无法变为未选中

    单个CheckBox在选中后,通过点击可以变为未选中

2、一组RadioButton,只能同时选中一个

     一组CheckBox,能同时选中多个

3、RadioButton在大部分UI框架中默认都以圆形表示

     CheckBox在大部分UI框架中默认都以矩形表示

RadioButton和RadioGroup的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、大部分场合下,一个RadioGroup中至少有2个RadioButton

5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置

XML布局:

<?xml version="1.0" encoding="utf-8"?>

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

 <TextView  

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="请选择您的性别:"

    android:textSize="9pt"

    />

 <RadioGroup

 android:id="@+id/radioGroup"

 android:contentDescription="性别"

 android:layout_width="wrap_content"     

android:layout_height="wrap_content"

    >

<RadioButton

 android:layout_width="wrap_content" android:layout_height="wrap_content"

 android:id="@+id/radioMale"

 android:text="男"


android:checked="true"

>

</RadioButton>

<RadioButton

 android:layout_width="wrap_content"  

android:layout_height="wrap_content"

 android:id="@+id/radioFemale" android:text="女"></RadioButton>    

 </RadioGroup>

<TextView  

    android:id="@+id/tvSex"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="您的性别是:男"

    android:textSize="9pt"

    />

</LinearLayout>

 

 

选中项变更的事件监听:

TextView tv = null;//根据不同选项所要变更的文本控件

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        

        setContentView(R.layout.main);

        

        //根据ID找到该文本控件

        tv = (TextView)this.findViewById(R.id.tvSex);

        //根据ID找到RadioGroup实例

        RadioGroup group = (RadioGroup)this.findViewById(R.id.radioGroup);

        //绑定一个匿名监听器

        group.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            

            @Override

            public void onCheckedChanged(RadioGroup arg0, int arg1) {

                // TODO Auto-generated method stub

                //获取变更后的选中项的ID

                int radioButtonId = arg0.getCheckedRadioButtonId();

                //根据ID获取RadioButton的实例

                RadioButton rb = (RadioButton)MyActiviy.this.findViewById(radioButtonId);

                //更新文本内容,以符合选中项

                tv.setText("您的性别是:" + rb.getText());

            }

        });

}

 

效果图如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: