你們好,咱們今天這一節要介紹的是RadioGroup 的組事件.RadioGroup 可將各自不一樣的RadioButton ,設限於同一個Radio 按鈕組,同一個RadioGroup 組裏的按鈕,只能作出單一選擇(單選題).
首先,咱們先設計一個TextView Widget ,以及一個RadioGroup ,並將該RadioGroup 內放置兩個RadioButton ,默認爲都不選擇,在程序運行階段,利用onCheckedChanged 做爲啓動事件裝置,讓User選擇其中一個按鈕,顯示被選擇的內容,最的將RadioButton 的選項文字顯示於TextView 當中.
下面咱們看一下效果圖:


下面是涉及的相關代碼:
string.xml: java
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="hello">Hello World, RadioGroupDemo</string>
- <string name="app_name">RadioGroupDemo</string>
- <string name="tr_radio_op1">帥哥</string>
- <string name="tr_radio_op2">美女</string>
- <string name="str_radio_question1">請問你是?</string>
- </resources>
複製代碼
主佈局main.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <!--第一個TextView -->
- <TextView
- android:id="@+id/myTextView"
- android:layout_width="228px"
- android:layout_height="49px"
- android:text="@string/str_radio_question1"
- android:textSize="30sp"
- />
- <!--創建一個RadioGroup -->
- <RadioGroup
- android:id="@+id/myRadioGroup"
- android:layout_width="137px"
- android:layout_height="216px"
- android:orientation="vertical"
- >
- <!--第一個RadioButton -->
- <RadioButton
- android:id="@+id/myRadioButton1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/tr_radio_op1"
- />
- <!--第二個RadioButton -->
- <RadioButton
- android:id="@+id/myRadioButton2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/tr_radio_op2"
- />
- </RadioGroup>
- </LinearLayout>
複製代碼
最後是主控制程序RadioGroupDemo.java:
- package com.android.test;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.RadioButton;
- import android.widget.RadioGroup;
- import android.widget.TextView;
- public class RadioGroupDemo extends Activity
- {
- public TextView mTextView1;
- public RadioGroup mRadioGroup1;
- public RadioButton mRadio1,mRadio2;
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- /*取得 TextView、RadioGroup、RadioButton對象*/
- mTextView1 = (TextView) findViewById(R.id.myTextView);
- mRadioGroup1 = (RadioGroup) findViewById(R.id.myRadioGroup);
- mRadio1 = (RadioButton) findViewById(R.id.myRadioButton1);
- mRadio2 = (RadioButton) findViewById(R.id.myRadioButton2);
-
- /*RadioGroup用OnCheckedChangeListener來運行*/
- mRadioGroup1.setOnCheckedChangeListener(mChangeRadio);
- }
-
- private RadioGroup.OnCheckedChangeListener mChangeRadio = new
- RadioGroup.OnCheckedChangeListener()
- {
- @Override
- public void onCheckedChanged(RadioGroup group, int checkedId)
- {
- // TODO Auto-generated method stub
- if(checkedId==mRadio1.getId())
- {
- /*把mRadio1的內容傳到mTextView1*/
- mTextView1.setText(mRadio1.getText());
- }
- else if(checkedId==mRadio2.getId())
- {
- /*把mRadio2的內容傳到mTextView1*/
- mTextView1.setText(mRadio2.getText());
- }
- }
- };
- }
複製代碼
運行RadioGroupDemo.java ,將獲得以上效果。