閱讀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的解決