代码之家  ›  专栏  ›  技术社区  ›  picKit

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

  •  1
  • picKit  · 技术社区  · 6 年前

    使用“项目单击展开”可展开已单击项目的视图。如果我点击两个项目,在我的回收视图中将有两个扩展视图的项目。我需要关闭其他项目的展开视图与项目点击。回收器中只能有一个具有展开视图的项目。

    我该怎么做?

    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.exp.collapse();
        holder.itemView.setOnClickListener(v -> {
            holder.exp.expand();
        });
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Rohit Sharma    6 年前

    保存先前展开位置的位置使lists对象中的某个属性(如布尔等参线或其他对象)现在单击新行时,根据需要将其设置为false或true

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

    notifyItemChanged(prevPosition);
    

    确保在bindViewHolder中处理过类似的内容

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