android - 如何在android中处理动态添加的单选按钮检查和取消检查
问题描述
我在 recyclerview 中创建了 4 个单选按钮,但是当我选中一个单选按钮时,它已选中,但是当我选中另一个单选按钮时,第一个单选按钮无法取消选中
holder.cb_votes.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
for (int i = 0; i < pollItems.size(); i++) {
if (isChecked) {
holder.cb_votes.setChecked(true);
} else {
holder.cb_votes.setChecked(false);
}
}
}
});
这是我的xml
<RadioGroup
android:id="@+id/rg_cb_votes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5">
<RadioButton
android:id="@+id/cb_votes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dp"
android:text="Yes"
android:textSize="12dp" />
</RadioGroup>
解决方案
维基百科中的 Radiobutton 说:
单选按钮或选项按钮是一种图形用户界面元素,它允许用户仅选择一组预定义选项中的一个。
您必须只使用复选框而不是单选按钮来允许选择多个选项,否则您正在做的事情在 UI 中本质上是错误的,无论是移动/网络。
:-)
推荐阅读
- reactjs - React props 是无敌的
- wordpress - 我应该如何处理:Wordpress 社交登录(网络)和 Flutter(移动)
- javascript - 数字转换的字符串到 JSON 解析问题
- reactjs - 在 react + typescript 中避免通用函数类型
- reactjs - 使用 react-pdf 和 react-chartjs-2 生成 pdf
- c# - 获取可为空的最大日期时间
- vba - (访问 VBA 润色)基于另一个文本框更新后自动填充
- git - WebStorm:解决冲突后继续与生成的提交消息合并
- android - 卡在数据库室插入和更新
- amazon-web-services - 如何使用 lambda 版本和别名来使用 CloudFormation 对我的 API 进行版本控制?