Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 嵌套的RecyclerView滚动到NotifyItemChanged上的第一个项目_Android_Android Recyclerview - Fatal编程技术网

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
重用其单元格。所以当它滚动离开时,它的滚动位置就丢失了。当它被卷回视图时,你会看到它是这样发生的。是的,但问题是,当我根本不滚动它们时,它就会发生。你能把你的
回收视图的一些截图/虚拟图片放进去吗?到目前为止,除了我所说的以外,我不确定还有什么问题|