RadioGroup 有时候比較实用.主要特征是给用户提供多选一机制。

Android开发(20)--RadioGroup的使用_xml

MainActivity.java

package com.example.lesson16_radio;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends Activity {
private RadioGroup group_temo;
private RadioButton checkRadioButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
group_temo = (RadioGroup) findViewById(R.id.radioGroup1);
// 改变默认选项
group_temo.check(R.id.radio1);

// 获取默认被被选中值

checkRadioButton = (RadioButton) group_temo.findViewById(group_temo
.getCheckedRadioButtonId());

Toast.makeText(this, "默认的选项的值是:" + checkRadioButton.getText(),
Toast.LENGTH_LONG).show();

// 注冊事件
group_temo
.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {

// 点击事件获取的选择对象
checkRadioButton = (RadioButton) group_temo
.findViewById(checkedId);

Toast.makeText(getApplicationContext(),
"获取的ID是" + checkRadioButton.getText(),
Toast.LENGTH_LONG).show();
}
});
}

}


布局文件

<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=".MainActivity" >

<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >

<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/text_java" />

<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_net" />

<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_php" />
</RadioGroup>

</RelativeLayout>