除了我在RecyclerView中单击的项目以外,如何使所有项目不可见?

时间:2019-08-08 11:35:12

标签: android kotlin android-recyclerview

我的recyclerview项具有单击即可显示的其他信息 p0.itemView.notes.visibility = VISIBLE的问题是,当单击另一个项目时,我不知道如何使它消失。

我尝试在onBindViewHolder中将其设置为GONE,结果导致混乱,导致VISIBLE停止工作和错误等。

kotlin

p0.itemView.notes.visibility = VISIBLE
notifyDataSetChanged()

我只需要使具有附加信息的被单击项变为可见,然后在单击另一项时就消失即可。

2 个答案:

答案 0 :(得分:1)

保留当前可见的项目。当您单击另一个项目时,使上一个项目的可见性消失,并致电notifyDataSetChanged

p0.itemView.notes.visibility = VISIBLE
if (previousVisibleItem != null) {
   previousVisibleItem.visibility  = GONE
}

previousVisibleItem = p0.itemView.notes
notifyDataSetChanged()

答案 1 :(得分:0)

使用LinearLayout参数将其宽度和高度设置为零。