Android Firebase Recyclerview - 如何取消选择先前选择的项目?
创始人
2024-09-30 10:00:20
0

要取消先前选择的项目,您可以使用以下代码示例:

首先,在适配器的构造函数中添加一个状态变量来跟踪选中的项目。例如:

private SparseBooleanArray selectedItems;

public MyAdapter() {
    selectedItems = new SparseBooleanArray();
}

然后,在您的ViewHolder类中,为每个项目设置点击监听器,并在点击项目时切换其选中状态。例如:

public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    // ...

    public MyViewHolder(View itemView) {
        super(itemView);
        // ...

        itemView.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        int position = getAdapterPosition();
        if (selectedItems.get(position, false)) {
            selectedItems.delete(position);
            view.setBackgroundColor(Color.TRANSPARENT); // 取消选中时的背景
        } else {
            selectedItems.put(position, true);
            view.setBackgroundColor(Color.LTGRAY); // 选中时的背景
        }
    }
}

接下来,您可以使用selectedItems数组来跟踪选中的项目。例如,在您的适配器中添加以下方法来获取选中的项目数量:

public int getSelectedItemCount() {
    return selectedItems.size();
}

您还可以添加以下方法来获取选中的项目(位置):

public List getSelectedItems() {
    List items = new ArrayList<>(selectedItems.size());
    for (int i = 0; i < selectedItems.size(); i++) {
        items.add(selectedItems.keyAt(i));
    }
    return items;
}

最后,您可以在您的活动中执行取消选择操作。例如:

List selectedItems = mAdapter.getSelectedItems();
for (int position : selectedItems) {
    mAdapter.notifyItemChanged(position);
}
mAdapter.clearSelectedItems();

其中,clearSelectedItems()是您在适配器中添加的一个方法,用于清除选中的项目:

public void clearSelectedItems() {
    selectedItems.clear();
}

这样,您就可以取消先前选择的项目了。

相关内容

热门资讯

随着!微乐脚本辅助器!果然有挂... 随着!微乐脚本辅助器!果然有挂辅助脚本(有挂头条)-哔哩哔哩1、微乐脚本辅助器破解器简单,微乐脚本辅...
出乎意料的是!四川游戏家园辅助... 出乎意料的是!四川游戏家园辅助界面!一直是真的辅助下载(有挂解惑)-哔哩哔哩1.四川游戏家园辅助界面...
日前!哈局十三张通用辅助!切实... 日前!哈局十三张通用辅助!切实真的是有辅助工具(有挂细节)-哔哩哔哩1、在哈局十三张通用辅助插件功能...
记者获悉!旺旺福建辅助!总是有... 记者获悉!旺旺福建辅助!总是有挂辅助工具(有挂详细)-哔哩哔哩1、游戏颠覆性的策略玩法,独创攻略技巧...
相较于以往!龙岩闲游安卓脚本!... 您好,龙岩闲游安卓脚本这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
此事备受玩家关注!爱玩联盟辅助... 此事备受玩家关注!爱玩联盟辅助!果然有挂辅助安装(有挂辅助)-哔哩哔哩爱玩联盟辅助破解侠是真的助透视...
事发当天!上饶打炸辅助!好像是... 事发当天!上饶打炸辅助!好像是真的辅助下载(发现有挂)-哔哩哔哩1、打开软件启动之后找到中间准星的标...
有了最新消息!湘竞技辅助!本来... 有了最新消息!湘竞技辅助!本来真的是有辅助修改器(有挂细节)-哔哩哔哩1、每一步都需要思考,不同水平...
据文件显示!拱趴大菠萝调胜率!... 据文件显示!拱趴大菠萝调胜率!本来是真的辅助app(详细教程)-哔哩哔哩1、下载好拱趴大菠萝调胜率透...
据玩家消息!火神辅助免费下载!... 据玩家消息!火神辅助免费下载!真是真的是有辅助平台(有挂技巧)-哔哩哔哩1、火神辅助免费下载模拟器是...