android - 检查 RecyclerView 中的单选按钮也会检查其他随机单选按钮

标签 android android-recyclerview radio-button radio-group

我是 RecyclerView 的新手,当我在 RecyclerView 中使用带有 4 个 RadioButtonRadioGroup 时。一切正常,但是当我向下滚动时在 RecyclerView 中,一个单选按钮被随机 checkin 到另一个位置 布局 row_myList.xml

      <RadioGroup>      
        <RadioButton
            android:text="RadioButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btn_radio_test2"
            android:button="@null"
            android:drawableRight="?android:attr/listChoiceIndicatorSingle"
            android:layout_weight="1"
            android:gravity="right|center_vertical"
            android:textSize="10sp" />

        <RadioButton
            android:text="RadioButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btn_radio_test3"
            android:button="@null"
            android:drawableRight="?android:attr/listChoiceIndicatorSingle"
            android:layout_weight="1"
            android:gravity="right|center_vertical"
            android:textSize="10sp" />

        <RadioButton
            android:text="RadioButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btn_radio_test1"
            android:layout_weight="1"
            android:button="@null"
            android:drawableRight="?android:attr/listChoiceIndicatorSingle"
            android:gravity="right|center_vertical"
            android:textSize="10sp" />

        <RadioButton
            android:text="RadioButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btn_radio_test4"
            android:layout_weight="1"
            android:button="@null"
            android:drawableRight="?android:attr/listChoiceIndicatorSingle"
            android:gravity="right|center_vertical"
            android:textSize="10sp" />

        <RadioGroup
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/radioGp_testi"
            android:layout_marginTop="20dp"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            >

        </RadioGroup>

我的适配器代码

public class AdapterQuiz extends RecyclerView.Adapter<AdapterQuiz.MyViewHolder> {
private Activity context;
private ArrayList<HashMap<String,String>>quizs=new ArrayList<>();
private static HashMap<String,String>hashMap;

public AdapterQuiz(final Activity context, ArrayList<HashMap<String,String>>quizs){
    this.context=context;
    this.quizs=quizs;

}
 @Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view;
    view= LayoutInflater.from(context).inflate(R.layout.row_soalat,parent,false);
    return new MyViewHolder(view);
}

@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {

    hashMap=new HashMap<>();
    hashMap=quizs.get(position);

 holder.rgTesti.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {

                switch (i){
                    case R.id.btn_radio_test1:
                        //show a toast
                        break;
                    case R.id.btn_radio_test2:
                        //show a toast
                        break;
                    case R.id.btn_radio_test3:
                        //show a toast
                        break;
                    case R.id.btn_radio_test4:
                        //show a toast
                        break;

                }

            }
        });
    }   }

最佳答案

你走错了路...将所有单选按钮都放在单选组中。

关于android - 检查 RecyclerView 中的单选按钮也会检查其他随机单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45302774/

相关文章:

java - 安卓闹钟管理器。如何考虑时区之间的转换,以及冬夏时间的转换?

android - su 是什么意思 : process = Runtime. getRuntime().exec ("su");

android - 单击右上角的 float 操作按钮使 RecyclerView 项目被单击

android - 根据选择的数量更改 ActionBar 项目

asp.net - 单选按钮文本对齐问题

javascript - Radio + Checkbox 值,但 Radio 按钮无限期地对 onclick 求和。为什么? (带一个片段)

android - 从字符串数组中过滤数字并获取android中最后两个更大数字的索引

Android内存管理粒度——Activity还是Process?

python - 无法获取 Python/Tkinter 中单选按钮的值