从 RecyclerView 中删除项目仍然在后台显示它

问题描述 投票:0回答:1

我创建了一个显示项目的

RecyclerView

每 X 个项目,我都有一个原生广告,其下方有一个带有一些标题的

TextView
..

用户可以选择删除项目,然后我使用以下方法来执行此操作:

public void removeAt(int position) {
    items.remove( position );
    notifyItemRemoved( position );
    notifyItemRangeChanged( position, items.size() );
}

它的工作效果很好,删除了该项目并将整个项目移到一行。

但是,当我滚动到已删除项目的位置时,它的图像似乎仍然被卡住,并且在

RecyclerView
行之间的背景中显示它,如下所示:

enter image description here

有什么方法可以确保删除的项目不会出现这样的情况吗?

解决方案:

将标题背景设置为白色就可以了。

java android android-recyclerview
1个回答
1
投票

最常见的原因是

RecyclerView
位于被插入两次的
Fragment
内,通常是由于当它已经存在时被无条件添加到 Activity 的 onCreate 中。 将背景设置为白色会掩盖问题,但不能解决问题。

添加一些日志记录(在设置适配器时进行日志记录是一个好地方)来检查您的

RecyclerView
实际上是否添加的次数比您想象的要多。

© www.soinside.com 2019 - 2024. All rights reserved.