gpt4 book ai didi

Java:一次仅切换 1 个单选按钮(RecyclerView)

转载 作者:行者123 更新时间:2023-12-02 02:36:44 25 4
gpt4 key购买 nike

正如标题所说,我需要使我的单选按钮一次只能选择 1 个。

这是我的适配器:

public class NewGameCourseAdapter extends RecyclerView.Adapter<NewGameCourseAdapter.NewGameCourseViewHolder> {
private ArrayList<NewGameCourseItem> mCourseList;
private NewGameCourseAdapter.OnItemsCheckStateListener checkStateListener;

private int checkedItems = 0;

public void setOnItemsCheckStateListener(OnItemsCheckStateListener checkStateListener2) {
this.checkStateListener = checkStateListener2;
}

public interface OnItemsCheckStateListener {
void onItemCheckStateChanged(int checkedItemCounter);
}

onBindViewHolder:

 @Override
public void onBindViewHolder(@NonNull final NewGameCourseViewHolder holder, final int position) {
final NewGameCourseItem currentItem = mCourseList.get(position);

/** This can prevent some unwanted actions in some cases **/
holder.mRadioButton.setOnCheckedChangeListener(null);

/** If true, radio button will be selected, else unselected **/
holder.mRadioButton.setChecked(currentItem.getRadioButton());

holder.mRadioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
/** set object's last status **/
currentItem.setSelected(isChecked);

if (isChecked) {
checkedItems++;
} else {
checkedItems--;
}

checkStateListener.onItemCheckStateChanged(checkedItems);
}
});

我使用了与女巫复选框相同的方法,我想也许我也可以设法将它与此一起使用,只需进行一些小的更改。为了使单一选择在这里工作,我应该做什么/改变什么?如何让它改变之前的选择为 false?

最佳答案

您可以使用所选按钮存储项目的位置并更新其状态(通过更改数据列表元素中的 boolean 值,然后在另一个按钮按下时调用 notifyItemChanged(position)点击。当然,最后更新这个位置

关于Java:一次仅切换 1 个单选按钮(RecyclerView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57199625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com