You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取已选中单选按钮所属的父Radio Group?

获取单选按钮所属RadioGroup的方法

其实很简单,你可以直接通过点击的RadioButton视图获取它的父容器,也就是对应的RadioGroup,具体修改代码如下:

首先在你的onRadioButtonClick方法里,先获取当前选中单选按钮的父RadioGroup:

public void onRadioButtonClick(View view) { 
    boolean checked = ((RadioButton) view).isChecked(); 
    // 获取当前单选按钮所属的RadioGroup,注意类型转换
    RadioGroup parentRadioGroup = (RadioGroup) view.getParent();
    
    switch(view.getId()) { 
        case R.id.radio_1: 
            if (checked) populateSpinner(R.array.radio_1_array, parentRadioGroup); 
            break; 
        // 其他单选按钮的case逻辑同理
    }
}

补充说明

如果你的RadioButton不是直接放在RadioGroup下(比如中间嵌套了其他布局容器),那直接view.getParent()可能拿不到RadioGroup,这时候可以写个小方法遍历父视图直到找到RadioGroup:

private RadioGroup getRadioGroupParent(View view) {
    View parent = (View) view.getParent();
    while (parent != null && !(parent instanceof RadioGroup)) {
        parent = (View) parent.getParent();
    }
    return (RadioGroup) parent;
}

然后在点击事件里调用这个方法:

RadioGroup parentRadioGroup = getRadioGroupParent(view);

当然,如果你的每个RadioGroup都有明确的id,也可以直接通过findViewById(R.id.your_radio_group_id)获取,但前者的方式更通用,不管你有多少个RadioGroup都能自动适配。

内容的提问来源于stack exchange,提问作者Tushar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:33:07