从RecyclerViewitem 中,我试图将所选 RadioButton 的文本保存在模型类中。当我RadioButton从第一个项目中选择一个时,它的文本会被正确保存。问题是,与第 8 项相同位置的 RadioButton 文本也会自动保存。如果我从第 2 个项目中选择单选按钮,第 9 个项目中的文本也会自动保存,依此类推。如何解决这个问题呢?
onBindViewHolder 方法如下:
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
...
holder.radioGroup.setTag(position);
holder.radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
int radioButtonID = group.getCheckedRadioButtonId();
RadioButton radioButton = (RadioButton) group.findViewById(radioButtonID);
int clickedPos = (Integer) group.getTag();
models.get(clickedPos).setChecked(radioButtonID);
if (radioButtonID > 0){
models.get(clickedPos).setSelectedAns(radioButton.getText().toString());
}
}
});
holder.radioGroup.check(models.get(position).getChecked());
Log.d("TAG", "At position " + position + " selected : " + models.get(position).getSelectedAns());
}
慕姐8265434
素胚勾勒不出你
随时随地看视频慕课网APP
相关分类