RecycleView/ListView自动回滚至顶部的问题

为什么明明没有RecycleView.smoothScrollToPosition() / ListView.setSelection() 这类相关方法,每次切换回来某个界面,这个界面的列表会自动到顶部呢?

其实,是因为被抢走焦点了!

该属性是当一个为 View 获取焦点时,定义 ViewGroup 和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:ViewGroup 会优先其子类控件而获取到焦点
afterDescendants:ViewGroup 只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:ViewGroup 会覆盖子类控件而直接获得焦点

1.在item的根布局加入android:descendantFocusability=”blocksDescendants”的属性就解决了
2.如果还不行,那可能是嵌套的双滚动引起的问题,那么同样在嵌套双滚动的外层添加上面的属性即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容