AndroidRecyclerView中RadioButton的单选和取消选择不起作用。
创始人
2024-10-09 18:01:39
0

为了实现在一个RecyclerView的子项中使用RadioButton单选和取消选择,我们需要在单选的时候记录选中的位置,并在滑动时保持状态。可以通过以下步骤实现:

  1. 定义一个变量来记录选中的位置:
private int mSelectedPosition = -1;
  1. 在RecyclerView的Adapter中,在onBindViewHolder方法中设置RadioButton的状态和点击事件:
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
    ...
    // 设置RadioButton的状态
    holder.radioButton.setChecked(mSelectedPosition == position);
    // 设置RadioButton的点击事件
    holder.radioButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // 取消先前选中项的选择状态
            notifyItemChanged(mSelectedPosition);
            // 获取当前选中项的位置
            mSelectedPosition = holder.getAdapterPosition();
            // 设置当前选中项的选择状态
            notifyItemChanged(mSelectedPosition);
        }
    });
}
  1. 为了保存状态,我们需要在RecyclerView的Adapter中保存和恢复选中的位置:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    // 保存选中的位置
    savedInstanceState.putInt("selected_position", mSelectedPosition);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    // 恢复选中的位置
    mSelectedPosition = savedInstanceState.getInt("selected_position");
}

这样,就可以在RecyclerView的子项中使用RadioButton单选和取消选择了。

相关内容

热门资讯

透视中牌率!wepoker辅助... 透视中牌率!wepoker辅助是真的假的,wepoker线上大神(详细有机器人)1、起透看视 wep...
透视安卓版!wepoker透视... 透视安卓版!wepoker透视方法,有没有人wepoker(详细透视脚本免费下载)1)有没有人wep...
透视有挂!we-poker正规... 透视有挂!we-poker正规吗,wepoker轻量版书签(详细免费辅助器);1、用户打开应用后不用...
透视插件!wepoker怎么设... 透视插件!wepoker怎么设置盖牌,wepoker买钻石有用吗(详细可以开辅助)1、金币登录送、破...
透视私人局!wepoker怎么... 透视私人局!wepoker怎么拿到好牌,poker辅助器免费安装(详细有透视功能)poker辅助器免...
透视玄学!wepoker怎么挂... 透视玄学!wepoker怎么挂飞机,wejoker辅助机器人(详细透视底牌);该软件可以轻松地帮助玩...
透视存在!wepoker怎么挂... 透视存在!wepoker怎么挂底牌,we-poker软件(详细辅助器下载)1、完成wepoker怎么...
透视ai代打!安装不了wepo... 透视ai代打!安装不了wepoker,wepoker私人局外卦(详细私人局规律)1、全新机制【wep...
透视私人局!we poker辅... 透视私人局!we poker辅助器,WePoKer辅助器(详细可以看牌型)1、进入游戏-大厅左侧-新...
透视教学!wepoker有没有... 透视教学!wepoker有没有辅助,we-poker辅助器(详细国外版透视)1、在wepoker有没...