Skip to content

V4.1.4 - GridLayoutManager在过渡为状态布局时会导致 ItemDecoration 失效 #6695

@Chen-Xi-g

Description

@Chen-Xi-g
  1. 当前使用的版本号: 4.1.4
  2. 复现操作描述:
    1. RecyclerView使用GridLayoutManager/QuickGridLayoutManager(StaggeredGridLayoutManager没有尝试,但预估会发生同样的问题), 添加ItemDecoration
    2. 启用状态布局, 并设置状态布局
    3. 调用submitList(emptyList())设置数据为空
    4. 此时会发生ItemDecoration被清空的情况.
  3. 已经Fork项目, 并在已创建出现问题的代码, 请查看链接: https://github.com/Chen-Xi-g/BaseRecyclerViewAdapterHelper
  4. 复现视频
RFCMA04RTAE_20241113_164516_916.mp4

问题发生在调用submitList之后调用了notifyItemRangeRemoved,

open fun submitList(list: List<T>?) {
    // ......
    if (newDisplayEmptyLayout && !oldDisplayEmptyLayout) {
        notifyItemRangeRemoved(0, items.size)
        items = newList
        notifyItemInserted(0)
    } // ......
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions