最近在做聊天界面,下滑拉去历史消息,插到recycleview顶部,但是当调用notifyDataSetChanged()刷新界面时,布局会滑动,我想要的效果是item还保持在当前的位置。
解决办法:调用notifyItemRangeInserted(int positionStart, int itemCount)
其他的刷新方法
notifyItemChanged(int position) 更新列表position位置上的数据可以调用
notifyItemInserted(int position) 列表position位置添加一条数据时可以调用,伴有动画效果
notifyItemRemoved(int position) 列表position位置移除一条数据时调用,伴有动画效果
notifyItemMoved(int fromPosition, int toPosition) 列表fromPosition位置的数据移到toPosition位置时调用,伴有动画效果
notifyItemRangeChanged(int positionStart, int itemCount) 列表从positionStart位置到itemCount数量的列表项进行数据刷新
notifyItemRangeInserted(int positionStart, int itemCount) 列表从positionStart位置到itemCount数量的列表项批量添加数据时调用