您的位置:首页 > 移动开发 > Android开发

Android初级之组件基础07-RadioButton/RadioGroup

2011-10-10 11:51 393 查看
关于RadioButton

RadioButton继承于CompoundButton,是TextView、Button的子孙类,其有两种状态(选中或不选中)。

常用属性:

isChecked()判断是否被选中,返回true或者false。
performClick()调用OnClickListener监听器,即相当于模拟一次单击事件。
setChecked(boolean)通过传入的布尔参数设置组件选中状态。
toggle()置放控件当前的状态。
setOnCheckedChangeListener为控件设置OnCheckedChangeListener监听器。
RadioButton与CheckBox有点类似,但与CheckBox不一样的地方:在界面上当RadioButton第一次被选中之后就不能再取消选中,但可以通过方法toggle()方法(该方法将单选按钮更改为与当前选中状态相反的状态)控制取消选中。

与CheckBox一样,我们可以通过setOnCheckedChangeListener来对单选按钮进行监听单选按钮选中/取消选中的状态变化。

radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton view,boolean isChecked){
if(isChecked){
//code here - CheckBox被选中
}else{
//code here - CheckBox取消选中
}
}
}


关于RadioGroup

RadioGroup继承于LinearLayout,是ViewGroup的孙类,用于创建一组按钮之间相互排斥的单选按钮组。在同一个单选按钮组中,勾选一个按钮则会取消该组中其它已经勾选的按钮的选中状态。

RadioButton与RadioGroup共同使用

1.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">
<RadioGroup android:id="@+id/radiogroup"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical">
<RadioButton android:id="@+id/radiobutton1"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="奥迪"/>
<RadioButton android:id="@+id/radiobutton2"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="别克"/>
<RadioButton android:id="@+id/radiobutton3"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="大众"/>
<RadioButton
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="宝马"/>
</RadioGroup>
</LinearLayout>


2.在代码中:

radiogroup=(RadioGroup)findViewById(R.id.radiogroup);
radio1=(RadioButton)findViewById(R.id.radiobutton1);
radio2=(RadioButton)findViewById(R.id.radiobutton2);
radio3=(RadioButton)findViewById(R.id.radiobutton3);
radio4=(RadioButton)findViewById(R.id.radiobutton4);
//设置RadioGroup的选中状态变化事件监听器
radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {  	//checkedId参数值为被选中的RadioButton的ID。
if(checkedId==radio1.getId()){
//code here -- radiobutton1被选中
} else if(checkedId==radio2.getId()){
//code here -- radiobutton2被选中
} else if(checkedId==radio3.getId()){
//code here -- radiobutton3被选中
} else {
//code here -- radiobutton4被选中
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: