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

890

被折叠的 条评论
为什么被折叠?



