android 单选框如何动态渲染?
android
的 RadioGroup
是通过 RadioButton
的 id
来实现单选:
<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个回答
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);
}
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容