RadioButton控件
2016-11-30 本文已影响139人
dayang
RadioGroup
RadioGroup常用于将若干个RadioButton当做一组来处理;
RadioGroup是LinearLayout的子类,也属于容器类型。
一、RadioButton的使用
如果想要互斥效果,必须在RadioButton加上唯一的id值,且放在同一个RadioGroup当中
<RadioGroup
android:id="@+id/rgGenger"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rbFemale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:checked="true"/>
<RadioButton
android:id="@+id/rbMale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"/>
</RadioGroup>
效果图
RadioButton.png二、获得RadioButton取得的值
通过RadioGroup的getCheckedRadioButtonId()方法可以找到选中的RadioButton
public void onClick(View view){
RadioGroup group= (RadioGroup) findViewById(R.id.rgGenger);
int id=group.getCheckedRadioButtonId();
RadioButton radio= (RadioButton) findViewById(id);
String str=radio.getText().toString();
Toast.makeText(this,str,Toast.LENGTH_SHORT).show();
}
通过RadioGroup的RadioGroup.onCheckedChangeListener接口
private void initView(){
RadioGroup group= (RadioGroup) findViewById(R.id.rgGenger);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case R.id.rbFemale:
Toast.makeText(RadioActivity.this,"性别女",Toast.LENGTH_SHORT).show();
break;
case R.id.rbMale:
Toast.makeText(RadioActivity.this,"性别男",Toast.LENGTH_LONG).show();
break;
}
}
});
}