RadioButton(单选按钮)

Posted yh_android_blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RadioButton(单选按钮)相关的知识,希望对你有一定的参考价值。

概述

单选按钮允许用户从一组设置中选择一个选项。在选择设置时,如果你认为用户需要看到所有依次排列的的可选择项,可以 使用单选按钮。如果并不需要展示所有的可选项,使用下拉列表(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>
    
   
  RadioGroup  是 LinearLayout  的子类,它的默认方向是垂直方向的。 在对应的Activity中,下面的方法就是处理上面两个单选按钮的点击事件:
   
    
     public void onRadioButtonClicked(View view) 
    
    
         // Is the button now checked?
    
    
         boolean checked = (RadioButton) view).isChecked();
    
    
         
    
    
         // Check which radio button was clicked
    
    
         switch(view.getId()) 
    
    
             case R.id.radio_pirates:
    
    
                 if (checked)
    
    
                     // Pirates are the best
    
    
                 break;
    
    
             case R.id.radio_ninjas:
    
    
                 if (checked)
    
    
                     // Ninjas rule
    
    
                 break;
    
    
         
    
    
     
    
   
android:onClick  属性中声明的方法必须和上面展示的名称一致,特别的,该方法必须:
  • 是公共方法(pubic)
  • 返回空值(return void)
  • 只有一个View作为它的参数(这个View就是被点击的那个)
技巧:如果你需要改变你自定义的单选按钮样式,使用   setChecked(boolean)  或 toggle()  方法。



以上是关于RadioButton(单选按钮)的主要内容,如果未能解决你的问题,请参考以下文章

单选按钮RadioButton使用

[tkinter]Radiobutton单选按钮的使用

RadioButton(单选按钮)

Android Studio基础单选按钮RadioButton

html rdb radiobutton单选按钮

java如何获取单选按钮RadioButton的值?