NestedScrollView中嵌套recyclerView的焦点问题

 

NestedScrollView中嵌套recyclerView的焦点问题

思路:一开始认为是adapter刷新数据,调用notifyDataSetChanged的时候获取了焦点,所以显示为置顶,那我就在刷新数据后延时1.5秒在去设置nestedScrollView滑动到底部。即调用下面:

ScrollView.fullScroll(View.FOCUS_UP);

然并软。

后来神奇的觉得,会不会是滑动冲突了,于是又在xml文件的recyclerView中添加了

  android:nestedScrollingEnabled="false"

然并软。。。。。

NestedScrollView中嵌套recyclerView的焦点问题

好吧~还是找度娘了,某位大佬发现了这个问题:关于NestedScrollView嵌套RecyclerView页面载入时总是滑动到最底部

确实是recyclerView占据了焦点,但是他的处理方式不同。

这里我选择了第一种方式,亲测有效~:

方法一:在根布局设置android:descendantFocusability=”blocksDescendants” ;

android:descendantFocusability 有三种值:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
这种方法,会造成页面中Editext焦点被抢导致无法输入,需要用到第二种方法。


重新运行,加载,完美!
 

上一篇:如何在Android中创建自定义gridview(如矩阵结构)


下一篇:八年 Android 开发要20k?