android - 停止回收或重新绑定(bind) RecyclerView top header Items

标签 android binding android-recyclerview

我不想重新绑定(bind)我的顶部标题 View 项目,因为它包含一些重新计算不合时宜的图表。假设我的 recycleView 是:

ItemTypeHead1
ItemTypeHead2
ItemTypeList
ItemTypeList
.
.
ItemTypeList

通常为此,我为每个 header 取一些 bool 值,并在 onBindViewHolder 中检查该 bool 值。例如:

if (!isItemTypeHead1Created && holder instanceof ItemTypeHead1) {
        ((ItemTypeHead1) holder).onBindDataUpdate(Data mData);
        isItemTypeHead1Created = true;
    }

所以,它不再绑定(bind)。但我正在寻找更好的解决方案。 请分享您的想法,让我们一起讨论。

谢谢

最佳答案

使用:

recyclerView.getRecycledViewPool().setMaxRecycledViews(ItemTypeHead1, 0);

此方法不回收 ItemTypeHead1 类型的任何 View (最大缓存数 = 0)

您可以阅读以下内容了解更多详情: https://www.reddit.com/r/androiddev/comments/2oks1l/recyclerviewgetrecycledviewpoolsetmaxrecycledviews/

关于android - 停止回收或重新绑定(bind) RecyclerView top header Items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42757439/

相关文章:

android-recyclerview - Android 滚动到 Recyclerview 中的位置不起作用

java - Android Studio刷新RecyclerView项

android - 如何在android中为recyclerview创建圆形布局管理器

java - Android 接近警报,来自 kml 文件

.net - 实现自定义绑定(bind)

java - JAXB:为同一元素解码具有多个名称的 xml

xml - 使用 JAXB 进行部分解码

java - 转换为 base64 并在结果中重复?

android - 如何将我的应用程序设置为德语区域设置

android - 淡出 Android > 5.0 上的 AlphaAnimation 错误