
思路:一开始认为是adapter刷新数据,调用notifyDataSetChanged的时候获取了焦点,所以显示为置顶,那我就在刷新数据后延时1.5秒在去设置nestedScrollView滑动到底部。即调用下面:
ScrollView.fullScroll(View.FOCUS_UP);
然并软。
后来神奇的觉得,会不会是滑动冲突了,于是又在xml文件的recyclerView中添加了
android:nestedScrollingEnabled="false"
然并软。。。。。

好吧~还是找度娘了,某位大佬发现了这个问题:关于NestedScrollView嵌套RecyclerView页面载入时总是滑动到最底部
确实是recyclerView占据了焦点,但是他的处理方式不同。
这里我选择了第一种方式,亲测有效~:
方法一:在根布局设置android:descendantFocusability=”blocksDescendants” ;
android:descendantFocusability 有三种值:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
这种方法,会造成页面中Editext焦点被抢导致无法输入,需要用到第二种方法。
重新运行,加载,完美!
本文探讨了解决NestedScrollView嵌套RecyclerView时页面载入自动滚动到底部的问题。通过调整布局属性android:descendantFocusability,有效防止了RecyclerView抢占焦点,确保了页面加载时的正确显示。
3565

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



