首页 > 解决方案 > RecyclerView 偶尔显示“死”项

问题描述

我有一个这样的 RecyclerView 设置:

<androidx.recyclerview.widget.RecyclerView
   android:scrollbars="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:scrollbarThumbVertical="@android:color/transparent"
   app:fastScrollEnabled="true"
   app:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
   app:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
   app:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable"
   app:fastScrollVerticalTrackDrawable="@drawable/line_drawable"/>

// Linear layout manager
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);

// Touch helper for scrolling
ItemTouchHelper touchHelper = new ItemTouchHelper(touchHelperCallback);
touchHelper.attachToRecyclerView(recyclerView);

// Simple adapter
MyAdapter adapter = new MyAdapter(myDataset);
recyclerView.setAdapter(adapter);

在此处输入图像描述

每个项目都有一个圆圈,如果长按该圆圈,则会更改可视化以仅允许选择其他项目。

在此处输入图像描述

偶尔,这就是为什么我不明白出了什么问题,长时间按下的项目会得到一个重叠的重复“死”项目,而没有 ViewModel 数据卡在视图上。如果该项目被滚动出屏幕(我想当它被回收时)它会消失并且一切看起来都很好。您可以在下一个动画中看到它。

在此处输入图像描述

这太烦人了,我已经尝试了所有方法,但无法找到它。任何想法?

编辑:新提示,它从 Android 9 开始发生!

标签: androidandroid-recyclerviewandroid-9.0-pie

解决方案


推荐阅读