android - 如何使用 RecyclerView android 只选择一个 RadioButton?

标签 android android-recyclerview radio-button

我有一个带有 RadioButton 的 RecyclerView 我只想同时选择一个不多的 RadioButton 我的代码使它工作正常,但是当我从上到下重复选择时选择消失我该如何修复它谢谢.

enter image description here

private RadioButton lastCheckedRB = null;

 @Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
    ContactUsModel contactUsModel = orderList.get(position);
    holder.orderNum.setText(contactUsModel.getOrderNum());
    holder.orderCost.setText(contactUsModel.getOrderCost());

    holder.radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
            RadioButton checked_rb = (RadioButton) group.findViewById(checkedId);

            if (lastCheckedRB != null &&lastCheckedRB.isChecked()) {
                lastCheckedRB.setChecked(false);
            }
            //store the clicked radiobutton
            lastCheckedRB = checked_rb;


        }
    });

最佳答案

你可以这样做,使用 RadioButton 我只是写而不检查但这是给你的提示 -

 private CompoundButton lastCheckedRB = null;

@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
    ContactUsModel contactUsModel = orderList.get(position);
    holder.orderNum.setText(contactUsModel.getOrderNum());
    holder.orderCost.setText(contactUsModel.getOrderCost());
    holder.readioBtn.setOnCheckedChangeListener(ls);
    holder.readioBtn.setTag(position);
}

private OnCheckedChangeListener ls = (new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView,
                                 boolean isChecked) {
        int tag = (int) buttonView.getTag();
        ;
        if (lastCheckedRB == null) {
            lastCheckedRB = buttonView;
        } else if (tag != (int) lastCheckedRB.getTag()) {
            lastCheckedRB.setChecked(false);
            lastCheckedRB = buttonView;
        }

    }
});

关于android - 如何使用 RecyclerView android 只选择一个 RadioButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46344032/

相关文章:

asp.net - mvc 4 razor 中的 radio 选中/取消选中

java - android中如何读取临时数据

java - 如何使用 ScheduledExecutorService 更改重复任务的速率或周期?

android - RecyclerView 的 GridLayoutManager 上的方形布局

java - 在 RecyclerView 的单个界面中使用多个 onClick 方法

android - 如何通知数据从 sqlite 更改为回收站 View ?

android - 单选按钮图像

javascript - 如何通过单选按钮进行选项卡切换

java - Android 资源中的图像导致内存泄漏

c# - Android Xamarin 在 Android.Widget 中没有 WebView