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:id="@+id/radiogroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_x="3px"
>
<radiobutton
android:id="@+id/radiobutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radiobutton1"
/>
android:id="@+id/radiobutton2"
android:text="@string/radiobutton2"
android:id="@+id/radiobutton3"
android:text="@string/radiobutton3"
android:id="@+id/radiobutton4"
android:text="@string/radiobutton4"
</radiogroup>