开发项目时常常用到了RecyclerView来加载一些复杂的界面,个人也很喜欢用这个强大的组件。但是最近项目中遇到了一个问题。就是一个页面中在RecyclerView的上方添加头布局的时候,切换到其它的页面再回到这个页面的时候,会直接滚动到RecyclerView的位置。第一感觉就是被抢焦点了。于是查阅了一些资料。
原因是:
页面切换时RecyclerView获得了焦点,RecyclerView的 focusableOnTouchMode属性默认是true,所以页面切换时RecyclerView自动获得焦点就滚动到头部。
解决方法:
将RecyclerView的父控件的设置Android:focusableInTouchMode="true" 。
不行就再加上android:focusable="true"
特此记录一下,方便下次再遇到同样的问题的时候查阅~