我想在RecyclerView的项目中隐藏View。
我在BindViewHolder中有if/else
语句,如下所示:
if (position == list.size() - 1)
{
holder.divider.setVisibility(View.Gone)
}
它最初工作,我的视图消失但当我向后滚动时,一些视图也消失了,我不知道要解决这个问题,我试过holder.getAdapterposition
但仍然发生了同样的情况。如果有人可以帮助我,我将非常感激。
答案 0 :(得分:5)
每当您想在if
内使用onBindViewHolder
语句时,始终将其他语句。 RecyclerView重用视图,因此它应该知道特定行的特殊情况以及普通行的正常格式。
if (position == list.size() - 1){
holder.divider.setVisibility(View.GONE);
}else{
holder.divider.setVisibility(View.VISIBLE);
}