gpt4 book ai didi

android - 如何在 android 的 RecyclerView 中更改另一个项目的状态

转载 作者:行者123 更新时间:2023-11-29 18:43:16 25 4
gpt4 key购买 nike

我有一个 RecyclerView。每个布局本身都包含展开 View 。随着项目点击展开被点击项目的 View 被展开。如果我单击两个项目,我的 RecyclerView 中将有两个具有扩展 View 的项目。我需要通过单击项目来关闭其他项目的展开 View 。回收站中必须只有一个具有展开式展开 View 的项目。

我该怎么做?

public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.exp.collapse();
holder.itemView.setOnClickListener(v -> {
holder.exp.expand();
});

最佳答案

保存先前扩展位置的位置在列表对象中创建一个属性,例如一些 bool 值 isOpen 或现在单击新行时根据需要将其设置为 false 或 true

list.get(prevPosition).setIsOpen(false);

然后

notifyItemChanged(prevPosition);

确保你在你的 bindViewHolder 中处理过这样的事情

if(list.get(postition).getIsOpen()==false){
//hide your expanded list
}

关于android - 如何在 android 的 RecyclerView 中更改另一个项目的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52518528/

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