NestedScrollView中嵌套recyclerView的焦点问题

 

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


重新运行,加载,完美!
 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值