RadioGroup获取radiobutton值的两种办法

layout布局

 1  <RadioGroup
 2             android:id="@+id/radiogroup"
 3             android:layout_width="wrap_content"
 4             android:layout_height="wrap_content"
 5             android:orientation="horizontal">
 6 
 7             <RadioButton
 8                 android:id="@+id/man"
 9                 android:layout_width="wrap_content"
10                 android:layout_height="wrap_content"
11                 android:text="男" />
12 
13             <RadioButton
14                 android:id="@+id/woman"
15                 android:layout_width="wrap_content"
16                 android:layout_height="wrap_content"
17                 android:text="女" />
18         </RadioGroup>

 

方法一:在radiogroup上设置监听器(不知道为啥一直不能成功)

radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(RadioGroup radioGroup, int i) {
                        //通过RadioGroup找到radioButton
                        int radioButtonId = radiogroup.getCheckedRadioButtonId();
                        RadioButton radioButton = (RadioButton) findViewById(radioButtonId);
                        //获取值
                        String s = radioButton.getText().toString();
                        user.setSex(s);
                    }
                });

 

方法二:利用radiogroup的getchlidcount方法遍历选项

int childCount = radiogroup.getChildCount();
                for (int i = 0; i < childCount; i++) {
                    RadioButton childAt = (RadioButton) radiogroup.getChildAt(i);
                    if (childAt.isChecked()) {
                        user.setSex(childAt.getText().toString());
                    }
                }

 

posted @ 2022-03-09 09:21  打烊宠烊  阅读(747)  评论(0编辑  收藏  举报