阅读639 返回首页    go 阿里云 go 技术社区[云栖]


android.widget.RadioButton 单选按钮

android.widget.RadioButton,译为单选按钮,通常情况下与RadioGroup一起使用

 

一、结构

public class RadioButton extends CompoundButton
    java.lang.Object
        android.view.View
              android.widget.TextView
                    android.widget.Button
                           android.widget.CompoundButton
                                android.widget.RadioButton

  二、概述

    

    单选按钮是一种双状态的按钮,可以选择或不选中。在单选按钮没有被选中时,用户能够按下或点击来选中它。但是,与复选框相反,用户一旦选中就不能够取消选中(译者注:可以通过代码来控制,界面上点击的效果是一旦选中之后就不能取消选中了)。         

    多个单选按钮通常与RadioGroup同时使用。当一个单选组(RadioGroup)包含几个单选按钮时,选中其中一个的同时将取消其它选中的单选按钮。(译者注:示例参见这里

 

  三、公共方法 

         public void toggle ()

         将单选按钮更改为与当前选中状态相反的状态。

         如果这个单选按钮已经选中,这个方法将不切换单选按钮。(译者注:请看源码:

 

         

 

 

 

例子

public class MyRadoiButtonActivity extends Activity {
 TextView textview;   
    RadioGroup radiogroup;   
    RadioButton radio1,radio2,radio3,radio4;   
 
    public void onCreate(Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);   
        setContentView(R.layout.main);   
        textview=(TextView)findViewById(R.id.textview1);   
        radiogroup=(RadioGroup)findViewById(R.id.radiogroup1);   
        radio1=(RadioButton)findViewById(R.id.radiobutton1);   
        radio2=(RadioButton)findViewById(R.id.radiobutton2);   
        radio3=(RadioButton)findViewById(R.id.radiobutton3);   
        radio4=(RadioButton)findViewById(R.id.radiobutton4);   
           
        radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {  

            public void onCheckedChanged(RadioGroup group, int checkedId) {   
  
                if(checkedId==radio2.getId())   /*当选择的是第二个单选按钮*/
                {   
                    DisplayToast("正确答案:"+radio2.getText()+",恭喜你,回答正确!");   
                }else  
                {   
                    DisplayToast("请注意,回答错误!");   
                }   
            }   
        });   
    }   
    public void DisplayToast(String str)   
    {   
        Toast toast=Toast.makeText(this, str, Toast.LENGTH_LONG);   
        toast.setGravity(Gravity.TOP,0,220);   
        toast.show();   
    }  

}

 

string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>  
      <string name="hello">哪个城市美女多?</string>   
    <string name="app_name">单选按钮测试</string>   
    <string name="radiobutton1">杭州</string>   
    <string name="radiobutton2">成都</string>   
    <string name="radiobutton3">重庆</string>   
    <string name="radiobutton4">苏州</string> 
</resources>

mian.xml

 

    <RadioGroup   
        android:  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:orientation="vertical"  
        android:layout_x="3px"  
    >   
        <RadioButton   
            android:  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:text="@string/radiobutton1"  
        />   
        <RadioButton   
            android:  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:text="@string/radiobutton2"  
        />   
        <RadioButton   
            android:  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:text="@string/radiobutton3"  
        />   
        <RadioButton   
            android:  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:text="@string/radiobutton4"  
        />   

     </RadioGroup>

 

android.widget.RadioButton 单选按钮 - 夏天的风 - FreeSimpleHappy

 

android.widget.RadioButton 单选按钮 - 夏天的风 - FreeSimpleHappy

 

android.widget.RadioButton 单选按钮 - 夏天的风 - FreeSimpleHappy

 

android.widget.RadioButton 单选按钮 - 夏天的风 - FreeSimpleHappy

最后更新:2017-04-03 12:55:47

  上一篇:go Android:实现类似RadioButton自动换行及单选效果
  下一篇:go Android开发中使用WebView后程序进入后台依旧占用CPU的解决