嵌套的RecyclerView滚动到NotifyItemChanged上的第一个项目

时间:2015-08-06 15:44:22

标签: android android-recyclerview

我有垂直if(hitSideLeft.collider != null || hitSideRight.collider != null){ CancelMove(); Debug.Log(hitSideRight.collider.tag.ToString()); } 用于滚动项目组和水平RecyclerView在每个RecyclerView中,以便滚动这些组内的项目。它们来自数据库。每当项目内容发生变化(用户点击某些内容或新数据来自网络)时,都会将其写入数据库,然后为组光标调用ViewHolder。我检查它是否是notifyDataSetChanged()中的同一组,并且仅在更新项目时才更新。但水平onBingViewHolder()无论如何都会滚动到第一个项目。

我怎样才能阻止这种行为?为什么会这样?

BTW我正在将'onBindViewHolder()`中的这个检查结果写入日志,我可以看到它是同一个项目。

感谢。

1 个答案:

答案 0 :(得分:4)

RecyclerView创建新的ViewHolder以执行动画。 setItemAnimator(null)解决了我的问题。