TV端 RecyclerView长按滑动时焦点乱飞或丢失的问题

   导致这个问题出现的原因是由于RecyclerView加载数据并不是将所有的数据加载出来, 快速滑动的时候需要获取焦点的item并没有加载出来,这就导致焦点交给系统来处理,这样就导致了焦点丢失或乱飞的问题。

我看了一下网上的解决思路一般是两种:

   出处: http://blog.csdn.net/Zou_pl/article/details/77507376

  1. 控制按键速度
  2. 重写RecyclerView的LayoutManager中的onInterceptFocusSearch接口来控制焦点

第一种方式我觉得是一种取巧的方式,而且具有随机性(降低体验度),换句话说不稳定。

第二种方式一般是下面这种形式(针对LinearLayoutManager):

 

首先我进行测试后发现这种方式并不能解决问题(不起效果), 其次我觉得在onInterceptFocusSearch中调用scrollToPosition这样会不符合焦点传递的流程, 这个思路本意是:在搜寻下一个焦点的时,如果需要获取焦点的item没有加载, 那么调用scrollToPostion来将它显示出来,那么它就可以获取到焦点。 不起作用的原因我觉得还是随机(不确定性)导致,我们并不能控制正好分发焦点的时候,需

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值