【Android】Android开发Android知识

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;
                  }    
                                                                               }
});
}
上一篇 下一篇

猜你喜欢

热点阅读