RadioButton&RadioGroup
阿新 • • 發佈:2018-11-04
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); } }); } }