Android 嵌套的RecyclerView滚动到NotifyItemChanged上的第一个项目
我在每个Android 嵌套的RecyclerView滚动到NotifyItemChanged上的第一个项目,android,android-recyclerview,Android,Android Recyclerview,我在每个ViewHolder中设置了用于滚动项目组的垂直RecyclerView,以及水平RecyclerView,以便在这些组中滚动项目。它们是从数据库填充的。无论何时更改项目内容(用户点击某些内容或来自网络的新数据),都会将其写入数据库,然后为组游标调用notifyDataSetChanged()。我在onBingViewHolder()中检查它是否是同一组,并仅在它是时更新项目。但水平RecyclerView仍会滚动到第一项 我如何防止这种行为,为什么会发生 顺便说一句,我正在将这个签入'
ViewHolder
中设置了用于滚动项目组的垂直RecyclerView
,以及水平RecyclerView
,以便在这些组中滚动项目。它们是从数据库填充的。无论何时更改项目内容(用户点击某些内容或来自网络的新数据),都会将其写入数据库,然后为组游标调用notifyDataSetChanged()
。我在onBingViewHolder()
中检查它是否是同一组,并仅在它是时更新项目。但水平RecyclerView
仍会滚动到第一项
我如何防止这种行为,为什么会发生
顺便说一句,我正在将这个签入'onBindViewHolder()'的结果写入日志,我可以看到它是同一项
谢谢。
RecyclerView
创建新的视图支架
,以便执行动画setItemAnimator(null)
解决了我的问题。RecyclerView
创建新的ViewHolder
以执行动画setItemAnimator(null)
解决了我的问题。我在ListView中有一个水平ListView的类似问题。我曾经在适配器或其他地方保存滚动位置。我想我加了一个onScroll监听器什么的。是的,这就是我现在要尝试的。您是否找到了导致此行为的原因?ListView
和RecyclerView
重用其单元格。所以当它滚动离开时,它的滚动位置就丢失了。当它被卷回视图时,你会看到它是这样发生的。是的,但问题是,当我根本不滚动它们时,它就会发生。你能把你的回收视图的一些截图/虚拟图片放进去吗?到目前为止,除了我所说的以外,我不确定还有什么问题|我在ListView
中遇到了类似的问题。我曾经在适配器或其他地方保存滚动位置。我想我加了一个onScroll监听器什么的。是的,这就是我现在要尝试的。您是否找到了导致此行为的原因?ListView
和RecyclerView
重用其单元格。所以当它滚动离开时,它的滚动位置就丢失了。当它被卷回视图时,你会看到它是这样发生的。是的,但问题是,当我根本不滚动它们时,它就会发生。你能把你的回收视图的一些截图/虚拟图片放进去吗?到目前为止,除了我所说的以外,我不确定还有什么问题|