当前位置: 首页 > 知识库问答 >
问题:

在RecycerView中只选择一个

司寇飞航
2023-03-14

我有一个RecycerView,其中每个项目都有3个radiobuttons分组在一个RadioGroup中。现在,用户只能在RecycerView中为每个项目选择一个radiobutton。但是我希望用户在整个RecycerView中只选择一个radiobutton。如何做到这一点?

这就是它目前的样子。

我希望在整个回收器视图中只检查1个radiobutton。如果选中了第一项中的第一个单选按钮,然后用户单击了第二项中的第二个radiobutton,则第一项中的第一个radiobutton将被取消选中。

共有1个答案

濮赤岩
2023-03-14

这里有另一种方法来做同样的事情。这比我之前的回答更优雅。但我保留了两者,因为前面的答案提供了更多的灵活性。

private RadioButton lastCheckedRB = null;
...
@Override
public void onBindViewHolder(final CoachListViewHolder holder, final int position) {
   holder.priceRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            RadioButton checked_rb = (RadioButton) group.findViewById(checkedId);
            if (lastCheckedRB != null) {
                lastCheckedRB.setChecked(false);
            }
            //store the clicked radiobutton
            lastCheckedRB = checked_rb;
        }
    });
 类似资料:
  • 我有一个RecycerView与RadioButton我只是想选择一个RadioButton不太多在同一时间和我的代码使它工作的很好,但当我重复选择从上到下的选择消失我如何才能修复它请谢谢。

  • 我知道RecycerView类中没有默认的选择方法,但我尝试了以下方法, 在尝试这段代码时,我得到了预期的输出,但完全不是。 我将用图像来解释这一点。 我如何克服这个问题?有时,如果我快速滚动列表,就会选择其他项目。如何克服这个问题呢? 更新 当我试图在之后使用时,

  • 下面是RG和RB的xml代码 编辑1:回答:如果你不想要单选按钮可以一次选择,所以不要使用Tablerow

  • 我是一个全新的领域,我现在有两个独立的下拉菜单。我正在尝试使用户能够在同一时间只能从两者中的一个进行选择。例如,如果用户从中选择某项内容,然后从中选择另一项内容,则变为未选中。 下面是我在html部分中的片段 这里是JS 这是一个简单的演示。你可以注意到你可以同时选择一辆汽车和一辆卡车。此时应仅为汽车或卡车:https://jsfidle.net/j82ryu5k/2/

  • 我们正在将MyBatis用于我正在进行的一个项目。我在尝试使用结果图获取结果时遇到了一个问题。 mapper.xml 在上述文件中需要注意的重要事项是,我们通过不同的别名在选择查询中两次获取名为CTN_DTR_NM的列(请参阅Value_Columns_List)。这是因为channel_map表包含CTN_DTR_NM。通道映射表还包含对另一个包含CTN_DTR_NM的表的引用。 我面临的问题是

  • 我的示例输入XML是: 我假设选择节点C的所有第一次出现。输出应该是item1和item4。当我使用/root/a/b/c时,它返回item1、item4和item5。