android 单选框如何动态渲染?

作者站长头像
站长
· 阅读数 5

androidRadioGroup 是通过 RadioButtonid 来实现单选:

<RadioGroup
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal"
                        >
                            <RadioButton
                                    android:id="@+id/male_radio"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="男"
                                android:checked="true"
                            />
                            <RadioButton
                                    android:id="@+id/female_radio"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="女"
                                    android:checked="false"
                            />
                        </RadioGroup>

如果枚举是从服务端获取并且枚举随时可增加、减少,就需要动态渲染,通过编程方式动态往 RadioGroup 新增、减少 RadioButton 是一个方法,但感觉太繁琐了。用 RecyclerView 又会导致 RadioButton 的单选特性无效,需自行维护单选效果。

请问这种业务场景一般怎么实现?

回复
1个回答
avatar
test
2024-06-25
RadioGroup radioGroup = findViewById(R.id.radioGroup);
for (String option : optionsFromServer) {
    RadioButton radioButton = new RadioButton(this);
    radioButton.setText(option);
    radioButton.setId(View.generateViewId());
    radioGroup.addView(radioButton);
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容