在 Android Kotlin 的 recyclerView 中仅显示第一个项目并隐藏同名项目
Posted
技术标签:
【中文标题】在 Android Kotlin 的 recyclerView 中仅显示第一个项目并隐藏同名项目【英文标题】:Show only 1st item and hide same name items in recyclerView in Android Kotlin 【发布时间】:2022-01-08 18:38:54 【问题描述】:我想只显示第一个位置项并在 recyclerView 中隐藏其他相同的文本项。就像下图一样。
我知道我可以用holder.itemView.visibility = View.GONE
隐藏视图,但是我应该实现什么条件来实现呢?谢谢。
【问题讨论】:
请分享您的 recyclerview 适配器的代码,以便我可以为您提供更改后的代码。 【参考方案1】:我有一个反击的想法。我觉得在 recyclerview 中显示之前应该过滤列表的唯一性。
有类似的东西:
data class Fruits(val name: String, val timeStamp :String)
val fruits = listOf(
Fruits("Apples", "Foo"),
Fruits("Apples", "Bar"),
Fruits("Oranges", "Foo"),
Fruits("Apples", "Bar")
)
然后使用:
fruits.distinctBy
it.name
应该删除具有相同名称的重复项,这是您传递给适配器的内容
【讨论】:
【参考方案2】:我可以解决这个问题 How do I display the calendar date on the top of chat messages?
获取以前的位置
if(position > 0)
val previousPosition = cellList[position -1]
并与当前位置进行比较。 谢谢大家的帮助!
【讨论】:
【参考方案3】:我想完成我朋友罗宾的回答 如果你想保留第一个项目,你也应该对它们进行排序
fruits.sortedByDescending it.date .distinctBy it.name
【讨论】:
以上是关于在 Android Kotlin 的 recyclerView 中仅显示第一个项目并隐藏同名项目的主要内容,如果未能解决你的问题,请参考以下文章
Recycler View 和 DialogFragment 苦苦挣扎(Kotlin)
kotlin android中Recyclerview的适配器类
kotlin android中Recyclerview的适配器类
java.lang.IllegalStateException: TextView 不能为空 (Android/Kotlin)