RadioGroup 和 RadioButton 点击事件

这两天遇到需要 RadioGroup 和 RadioButton 点击事件处理,记录一下。

1. RadioGroup 监听

先看布局页面,如图所示:

1

布局很简单,就一个 RadioGroup 包含三个 RadioButton,直接上代码:

<RadioGroup
    android:id="@+id/radio_group"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <RadioButton
        android:id="@+id/male"
        android:checked="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="男"
        />
    <RadioButton 
        android:id="@+id/female"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="女"
        />
    <RadioButton 
        android:id="@+id/other"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="保密"
        />
</RadioGroup>

测试类代码如下:

public class TestRadioGroupClick extends Activity implements OnCheckedChangeListener {

    private RadioGroup radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.radio_group);

        radioGroup = (RadioGroup) findViewById(R.id.radio_group);
        radioGroup.setOnCheckedChangeListener(this);// 当然也可以使用匿名内部类实现
    }

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {// Q: 参数 group 暂时还没搞清什么用途
        switch (checkedId) {
        case R.id.male:
            Toast.makeText(this, "male", Toast.LENGTH_SHORT).show();
            break;
        case R.id.female:
            Toast.makeText(this, "female", Toast.LENGTH_SHORT).show();
            break;
        default:
            Toast.makeText(this, "secret", Toast.LENGTH_SHORT).show();
            break;
        }
    }
}

这样,就可以通过 RadioGroup 来监听每一个 RadioButton 的状态了。

注意:RadioGroup 实现的是 OnCheckedChangeListener 接口,和常见的 OnClickListener 有所不同。

2. RadioButton 监听

除了监听 RadioGroup 整体,也可以单独监听每一个 RadioButton,此时添加的就是 OnClickListener 了!

示例代码:

RadioButton male = (RadioButton) findViewById(R.id.male);
male = (RadioButton) findViewById(R.id.male);

male.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Toast.makeText(TestRadioGroupClick.this, "you clicked male", Toast.LENGTH_SHORT).show();
    }
});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值