个人博客:Dzboy的日志
说明
首先说明一下,RecyclerView.scrollToPosition()仅仅是用来把某条item滚动到屏幕内,并不会指定到屏幕具体位置
比如滚动到屏幕顶部、居中等直接使用就不好用,如果需要实现这种效果,需要用其他方案。
回到本文要讨论的问题,先来描述下问题
问题
在RecyclerView初始化数据的时候,使用RecyclerView.scrollToPosition()滚动到指定位置时,有时会无效:无法滚动,或滚动位置不对
原因主要是在给适配器设置完数据之后,RecyclerView可能还没有绘制完成导致
在经过自己的各种尝试,也把能实现的方式以及各种表现罗列下来供大家选择使用
解决方法
1. 一般常用post方式,让滚动发生在所有UI消息处理完毕