如何在RecyclerView中隐藏视图

lit*_*end 1 android android-studio android-viewholder android-recyclerview

我想在RecyclerView的项目中隐藏View.我if/else在BindViewHolder中有声明,如下所示:

if (position == list.size() - 1)
{
   holder.divider.setVisibility(View.Gone)
}
Run Code Online (Sandbox Code Playgroud)

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

Har*_*ani 5

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

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