【发布时间】:2015-12-24 06:23:48
【问题描述】:
当您清除 适配器 并调用 notifyDataSetChanged() - StaggedGridLayoutManager 经理在 Span[] 实例中仍然有 mCachedStart/End。因此,当您向适配器添加新项目时 - 布局管理器会使用 offset 绘制项目,这是一个大问题。
EtsyStaggeredGridView 有方法 resetToTop() 清除所有缓存的内容并从头开始绘制所有内容。
有一些解决方法:
- 清除适配器后调用
layoutManager.onDetachedFromWindow(recyclerView, null) - 设置 new 布局管理器 不好
【问题讨论】:
标签: android layout-manager android-support-library android-recyclerview staggered-gridview