当我将项目添加到适配器时,让 RecyclerView 停止滚动
Get RecyclerView to stop scrolling when I add items to the Adapter
如何在添加项目时阻止 RecyclerView 滚动到列表底部?
即使我在列表顶部插入内容并调用 notifyDataSetChanged
或 notifyItemInserted
,列表也会滚动到底部。
按预期工作的一项功能是 notifyItemRemoved(index)
我想我是用整个列表调用 notifyRangeInserted()
并且滚动到该范围的末尾。
如果您遇到类似问题,只需将适配器功能缩减为最基本的功能,然后从那里开始构建。
问题是我在列表中有一个项目,一个 ProgressBar
表示数据正在加载,但是当新项目加载时我将它们添加到列表中,这移动了 "focused item," ProgressBar
向下,如果有足够的项目将其移出屏幕,则 RecyclerView
将向下滚动以将其保留在屏幕上。问题是 1. 我不想让它保持 "focus" 和 2. 接下来我做的是从 `Adapter.
中删除 ProgressBar
所以解决方案是在 Adapter
.
中添加项目之前删除 ProgressBar
或其他项目
如何在添加项目时阻止 RecyclerView 滚动到列表底部?
即使我在列表顶部插入内容并调用 notifyDataSetChanged
或 notifyItemInserted
,列表也会滚动到底部。
按预期工作的一项功能是 notifyItemRemoved(index)
我想我是用整个列表调用 notifyRangeInserted()
并且滚动到该范围的末尾。
如果您遇到类似问题,只需将适配器功能缩减为最基本的功能,然后从那里开始构建。
问题是我在列表中有一个项目,一个 ProgressBar
表示数据正在加载,但是当新项目加载时我将它们添加到列表中,这移动了 "focused item," ProgressBar
向下,如果有足够的项目将其移出屏幕,则 RecyclerView
将向下滚动以将其保留在屏幕上。问题是 1. 我不想让它保持 "focus" 和 2. 接下来我做的是从 `Adapter.
ProgressBar
所以解决方案是在 Adapter
.
ProgressBar
或其他项目