为什么明明没有RecycleView.smoothScrollToPosition() / ListView.setSelection() 这类相关方法,每次切换回来某个界面,这个界面的列表会自动到顶部呢?
其实,是因为被抢走焦点了!
该属性是当一个为 View 获取焦点时,定义 ViewGroup 和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:ViewGroup 会优先其子类控件而获取到焦点
afterDescendants:ViewGroup 只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:ViewGroup 会覆盖子类控件而直接获得焦点
1.在item的根布局加入android:descendantFocusability=”blocksDescendants”的属性就解决了
2.如果还不行,那可能是嵌套的双滚动引起的问题,那么同样在嵌套双滚动的外层添加上面的属性即可。