思路:一开始认为是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焦点被抢导致无法输入,需要用到第二种方法。
重新运行,加载,完美!