1. 程式人生 > >RadioButton&RadioGroup

RadioButton&RadioGroup

RadioButton和RadioGroup的關係:

1、RadioButton表示單個圓形單選框,而RadioGroup是可以容納多個RadioButton的容器

2、每個RadioGroup中的RadioButton同時只能有一個被選中

3、不同的RadioGroup中的RadioButton互不相干,即如果組A中有一個選中了,組B中依然可以有一個被選中

4、大部分場合下,一個RadioGroup中至少有2個RadioButton

5、大部分場合下,一個RadioGroup中的RadioButton預設會有一個被選中,並建議您將它放在RadioGroup中的起始位置

 

第一步:xml佈局

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.moliwei.myapplication.MainActivity"> <RadioGroup android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/radioGroup1" android:contentDescription="性別" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:id="@+id/rdoMale" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" android:id="@+id/rdoFemale" android:checked="true" /> </RadioGroup> </RelativeLayout>


第二步:選中項變更的事件監聽


package com.example.moliwei.myapplication;

import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.*;//引入JAVA包


public class MainActivity extends AppCompatActivity {

    int count=0;
    private RadioButton radioBtn1;
    private RadioGroup radioGroupWebsite;
    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addListenerRadioButton();
    }
    public void addListenerRadioButton(){
        //根據ID找到RadioGroup例項
        radioGroupWebsite=(RadioGroup)findViewById(R.id.radioGroup1);
        radioGroupWebsite.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup arg0, int arg1) {
                //獲取變更後的選中項的ID
                int radioButtonId=arg0.getCheckedRadioButtonId();
                //根據ID獲取RadioButton的例項
                RadioButton rb=(RadioButton)MainActivity.this.findViewById(radioButtonId);
            }
        });
    }
}