android - 防止 RecyclerView 中的直接邻居被分离和回收

标签 android android-recyclerview android-adapter

我正在使用 LinearLayoutManager 创建水平对齐的 RecyclerView。由于我正在绘制项目的边界,因此在滚动过程中,来自外部左右邻居的重叠绘图会消失,因为 View 会被回收。

有没有办法指示 Adapter 或 LayoutManager 始终保持 x + 2 View ?

我希望 RecyclerView.setItemViewCacheSize( int size ) 能为我解决这个问题,但 View 似乎仍然分离。

最佳答案

您不能使用 LinearLayoutManagerRecyclerView 的边界外绘制,并期望 View 在其边界离开 RecyclerView 的边界后继续绘制。

您应该更好地表述您的问题。您提供的细节很少,并希望有人帮助您使不合适的解决方案奏效。

您应该在除 View 0 之外的每个 View 之前添加 RecyclerView.ItemDecoration。例如https://gist.github.com/alexfu/0f464fc3742f134ccd1e

为什么要在每个 View 之前添加分隔线?因为这样一来,当我们添加/删除面包屑时,我们就不需要在最后一个 View 后面是否有分隔符之间来回更改。这意味着更少的工作和更好的性能。

关于android - 防止 RecyclerView 中的直接邻居被分离和回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32607667/

相关文章:

java - 是否有任何类可以处理 RecyclerView ViewHolders 的数据绑定(bind)?

android - 如何直接使用Twilio TURN server for Android (Server, Client)

android - 如何将线性布局拆分为两列?

android - 无法使用Firebase性能进行编译。 (无法找到方法...)

android - 具有 1k 对象列表的优化 ListView

java - 项目单击监听器不适用于自动滚动回收器 View

java - 在Windows 10上为Android Studio使用Gradle

android - onCreateViewHolder 何时被调用,为什么?回收 View

android - 列表适配器中的回调方法不起作用

android firebase实时数据库问题(回收器 View ,onclick按钮,删除)