在我們平時在注冊個人信息的時候,經常會讓我們選擇是男生還是女生,那么這個單選框在Android中是怎么實現的呢?現在我們就來學習一下吧
首先我們要明白實現這樣一個效果需要哪幾部?
	
1、在layout布局文件中建立一個文件,我起的名字為activity_radio.xml
代碼為:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- RadioButton 要想實現多選一的效果必須放到RadioGroup 中,否則無法實現多選一的效果. 技巧:要面向RadioGroup 編程,不要面向RaidoButton 編程,否則將增加很大代碼量 android:orientation="vertical":執行按鈕組的方向,默認值是vertical. RadioGroup的父類時LinearLayout,但方向的默認值不再是線性布局的水平方向了,而是改成了垂直方向. --> <RadioGroup android:id="@+id/radioGroup_gender" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical" > <RadioButton android:id="@+id/radioButton_male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:checked="true" android:text="男" /> <RadioButton android:id="@+id/radioButton_female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:checked="false" android:text="女" /> </RadioGroup></LinearLayout>
2、在MainActivity中實現細節的功能
package com.hsj.example.commoncontroldemo02;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity_bak06 extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {  private RadioGroup radioGroup_gender;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_radio);    this.radioGroup_gender= (RadioGroup) this.findViewById(R.id.radioGroup_gender);    this.radioGroup_gender.setOnCheckedChangeListener(this);  }  /**   * 當單選按鈕的狀態發生變化時自動調用的方法   * @param group 單選按鈕所在的按鈕組的對象   * @param checkedId 用戶選中的單選按鈕的id值   */  @Override  public void onCheckedChanged(RadioGroup group, int checkedId) {    //得到用戶選中的 RadioButton 對象    RadioButton radioButton_checked= (RadioButton) group.findViewById(checkedId);    String gender=radioButton_checked.getText().toString();    Toast.makeText(this,gender,Toast.LENGTH_LONG).show();    switch (checkedId){      case R.id.radioButton_male:        //當用戶點擊男性按鈕時執行的代碼        System.out.println("===男性===");        break;      case R.id.radioButton_female:        //當用戶點擊女性按鈕時執行的代碼        System.out.println("===女性===");        break;    }    System.out.println("===onCheckedChanged(RadioGroup group="+group+", int checkedId="+checkedId+")==");  }}那么以上就是一個簡單的單選框的實現,希望對大家會有所幫助。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答