RadioGroup中使用类组单选按钮。如果我们选中一个单选按钮属于一个单选按钮组,它会自动取消选中同一组内的任何先前检查的单选按钮。

RadioGroup 属性

以下是RadioGroup中控件有关的重要属性。可以检查Android官方文档的属性和相关方法的完整列表,可以用它来改变这些属性在运行时。

属性

描述

android:checkedButton

这是子单选按钮应该在默认情况下此单选组内进行检查的ID

继承自android.view.View类:

属性

描述

android:background

可拉伸作为背景

android:contentDescription

定义文本简要描述了视图内容

android:id

对此视图提供一个标识符名称

android:onClick

在本视图的上下文视图被点击时调用的方法的名称

android:visibility

控制视图的初始可视性

示例

这个例子将带通过简单的步骤显示了如何创建自己的Android应用程序使用线性布局和RadioGroup。

步骤

描述

1

使用Android Studio创建Android应用程序,创建一个项目:RadioGroup

2

修改src/MainActivity.java文件,添加一个click事件

2

修改res/layout/activity_main.xml文件的默认内容包括AndroidUI控件

3

Define required constants in res/values/strings.xml file

4

运行该应用程序启动 Android模拟器并验证应用程序的结果

以下是主活动文件 src/com.yiibai.radiogroup/MainActivity.java 的内容。这个文件可以包括每个生命周期的基本方法。

packagecom.example.guidemo9;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.Toast;publicclassMainActivityextendsActivity{privateRadioGroupradioGroupCricket;privateRadioGroupradioGroupTutorials;privateRadioButtonradioBtn1;privateRadioButtonradioBtn2;privateButtonbtnCricketer;privateButtonbtnYiiBai;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// group1addListenerRadioGroup1();// group2addListenerRadioGroup2();}privatevoidaddListenerRadioGroup2(){radioGroupTutorials=(RadioGroup)findViewById(R.id.radioGroup2);btnYiiBai=(Button)findViewById(R.id.button2);btnYiiBai.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){// get selected radio button from radioGroupTutorialsintselected=radioGroupTutorials.getCheckedRadioButtonId();radioBtn2=(RadioButton)findViewById(selected);Toast.makeText(MainActivity.this,radioBtn2.getText(),Toast.LENGTH_SHORT).show();}});}privatevoidaddListenerRadioGroup1(){radioGroupCricket=(RadioGroup)findViewById(R.id.radioGroup1);btnCricketer=(Button)findViewById(R.id.button1);btnCricketer.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){// get selected radio button from radioGroupCricketintselected=radioGroupCricket.getCheckedRadioButtonId();radioBtn1=(RadioButton)findViewById(selected);Toast.makeText(MainActivity.this,radioBtn1.getText(),Toast.LENGTH_SHORT).show();}});}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){/* Inflate the menu; this adds items to the action bar if it
is present */getMenuInflater().inflate(R.menu.main,menu);returntrue;}}

下面是 res/layout/activity_main.xml 文件的内容:

下面文件 res/values/strings.xml 的内容中定义两个新的常量:

<?xml version="1.0"encoding="utf-8"?>RadioGroupDemo - yiibai.comSettingsExample showing RadioGroupSachinSauravRahulMySQL 教程SQL 教程SQLite 教程cricketeryiibai

以下是AndroidManifest.xml 文件的默认内容:

我们尝试运行GUIDemo9应用程序。Eclipse的AVD上安装的应用程序,并启动它,如果一切设置和应用都没有问题,它会显示以下模拟器窗口:

下面的屏幕会出现,我们这里有2个RadioGroups(即radioGroupTutorials 和 radioGroupCricket)。cricketer 按钮被点击后检查“Rahul”单选按钮:

android radiogroup 一行 android radiogroup使用_android

下面的屏幕会出现,如果我们检查一个属于到 radioGroupTutorials 单选组单选按钮,它会自动取消选中任何先前检查的单选按钮内相同 radioGroupTutorials 组。 按钮被点击后检查“SQL Tutorial”单选按钮:

android radiogroup 一行 android radiogroup使用_Group_02

以上代码下载地址:http://pan.baidu.com/s/1qWJSdVA

练习:

建议尝试上面的例子中,不同属性的单选按钮在布局XML文件,以及在编程时有不同的外观的单选按钮。尽量使其可编辑,更改字体颜色,字体,宽度,字体大小等看到结果。也可以尝试多个单选按钮控件,在上面的例子在一个活动。