概述
单选按钮允许用户从一组设置中选择一个选项。在选择设置时,如果你认为用户需要看到所有依次排列的的可选择项,可以
使用单选按钮。如果并不需要展示所有的可选项,使用下拉列表(spinner)代替。
要创建每一个单选按钮,在你的布局中创建一个
RadioButton
。然而,由于单选按钮互相排斥,你必须使用一个
RadioGroup
.将他们放在同一个组中。通过分组在一起,系统确保同一时刻只有一个单选按钮会被选中。
响应点击事件
当用户选择了一个单选按钮,相应的
RadioButton
对象会收到一个on-click事件。
为这个按钮定义一个点击事件处理者,在你的xml布局文件的
<RadioButton>
元素中添加
android:onClick属性。属性的值必须和你需要调用的事件处理函数名一样。
持有该布局的
Activity
必须实现相应的方法。
例如,下面是一对
RadioButton对象:
<?xml version="1.0" encoding="utf-8"?><RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><RadioButton android:id="@+id/radio_pirates"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/pirates"android:onClick="onRadioButtonClicked"/><RadioButton android:id="@+id/radio_ninjas"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/ninjas"android:onClick="onRadioButtonClicked"/></RadioGroup>
在对应的Activity中,下面的方法就是处理上面两个单选按钮的点击事件:
public void onRadioButtonClicked(View view) {// Is the button now checked?boolean checked = (RadioButton) view).isChecked();// Check which radio button was clickedswitch(view.getId()) {case R.id.radio_pirates:if (checked)// Pirates are the bestbreak;case R.id.radio_ninjas:if (checked)// Ninjas rulebreak;}}
在
android:onClick
属性中声明的方法必须和上面展示的名称一致,特别的,该方法必须:
- 是公共方法(pubic)
- 返回空值(return void)
- 只有一个View作为它的参数(这个View就是被点击的那个)
本文介绍了单选按钮的设计原则及如何在用户界面中正确使用它们。解释了单选按钮与下拉列表的区别,并提供了创建单选按钮及其响应点击事件的具体步骤。
998

被折叠的 条评论
为什么被折叠?



