我有垂直if(hitSideLeft.collider != null || hitSideRight.collider != null){
CancelMove();
Debug.Log(hitSideRight.collider.tag.ToString());
}
用于滚动项目组和水平RecyclerView
在每个RecyclerView
中,以便滚动这些组内的项目。它们来自数据库。每当项目内容发生变化(用户点击某些内容或新数据来自网络)时,都会将其写入数据库,然后为组光标调用ViewHolder
。我检查它是否是notifyDataSetChanged()
中的同一组,并且仅在更新项目时才更新。但水平onBingViewHolder()
无论如何都会滚动到第一个项目。
我怎样才能阻止这种行为?为什么会这样?
BTW我正在将'onBindViewHolder()`中的这个检查结果写入日志,我可以看到它是同一个项目。
感谢。
答案 0 :(得分:4)
RecyclerView
创建新的ViewHolder
以执行动画。 setItemAnimator(null)
解决了我的问题。