Android入門教程(十一)之—-單選項框RadioGroup的綜合應用

來源:互聯網
上載者:User

 大家好,我們今天這一節要介紹的是RadioGroup 的組事件.RadioGroup 可將各自不同的RadioButton ,設限於同一個Radio 按鈕組,同一個RadioGroup 組裡的按鈕,只能做出單一選擇(單選題).

首先,我們先設計一個TextView Widget ,以及一個RadioGroup ,並將該RadioGroup 內放置兩個RadioButton ,預設為都不選擇,在程式運行階段,利用onCheckedChanged 作為啟動事件裝置,讓User選擇其中一個按鈕,顯示被選擇的內容,最的將RadioButton 的選項文字顯示於TextView 當中.

 

下面我們看一下:

 

  

 

 

下面是涉及的相關代碼:

 

string.xml:

 

<?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 ,將得到以上效果...今天就到這~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.