假设我有一个包含大量项目 View 的 RecyclerView:[a, b, c, d, e, ...]
。如果我想在 b
和 c
之间插入一个新的 ItemView X
,我更新我的基础集合并调用 notifyItemInserted(2)
。我现在有 [a, b, X, c, d, e, ...]
。
我的问题是,当 X
出现时,它会将 自身之后的每个 View 都向下推(将 e
推出屏幕),我需要它会在 自身之前插入每个 View (将 a
推出屏幕)。
有办法吗?
最佳答案
发生这种情况是因为 LinearLayoutManager 将列表的开头视为 anchor 位置。如果你想让列表的末尾作为 anchor 位置,你可以设置stackFromEnd = true;
。在这种情况下,当列表第一次加载时,您会看到;
V W X Y Z//假设字母表是您的项目列表
这是对话应用程序之类的常见情况。
如果你想让它从头开始,而 stackFromEnd
设置为 true
,那么你可以在适配器时调用 scrollToPosition(0)
已初始化。
关于Android RecyclerView : on item, 插入向上推而不是向下推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28072700/