如何在RecyclerView中隐藏视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在RecyclerView中隐藏视图相关的知识,希望对你有一定的参考价值。

我想在RecyclerView的项目中隐藏View。我在BindViewHolder中有if/else语句,如下所示:

if (position == list.size() - 1)
{
   holder.divider.setVisibility(View.Gone)
}

它最初工作,我的视图消失但当我向后滚动时,一些视图也消失了,我不知道解决这个问题,我尝试了holder.getAdapterposition但仍然发生了同样的事情。如果有人可以帮助我,我将非常感激。

答案

每次你想在if中使用onBindViewHolder语句时,总是把它放在其他地方。 RecyclerView重用视图,因此它应该知道有关特定行的特殊内容以及普通行的常规格式。

if (position == list.size() - 1){
   holder.divider.setVisibility(View.GONE);
}else{
   holder.divider.setVisibility(View.VISIBLE);
}

以上是关于如何在RecyclerView中隐藏视图的主要内容,如果未能解决你的问题,请参考以下文章

如何将回收器视图添加到片段

如何在RecyclerView中隐藏视图

Recyclerview 滚动在嵌套滚动视图中的片段中不起作用

如何使用光标和循环显示来自 sqlite 的片段的 recyclerview

进度条不隐藏是当数据在片段中的recyclerview中加载时

从RecyclerView适配器更新活动或片段的视图