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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/LucasXu01/article/details/87695892