我们知道在TV项目中,最主要的就是焦点事件的处理,今天要说的是当使用多个Recyclerview时焦点错乱问题.操作是当我们横向快速移动或者连续操作就会发生焦点主动跑得下一个或下一排控件上面.

我们看看焦点乱飞的截图:

从上图中可以看出,快速移动键盘到右边最后item时自动跑到下边的列表去了,然后使用键盘快速移动第二排的item时焦点自动跑到第一排的左边第一个,这就是 焦点乱跑的现象,这里我只是写了一个简单例子,复现焦点乱跑问题,所以用2个Recyclerview,实际项目肯定用一个更好,不要嵌套,这里不要纠结,本篇主要是解决焦点乱跑问题。

分析:

1.产生焦点错乱的原因: RecyclerView在长按遥控器的情况下会导致Item的焦点丢失或者说是飞到别的控件上。主要是因为RecyclerView设置适配器,将数据全部填充进去之后,并不会将所有的item的view创建出来,只会创建出显示和需要的item的View,没有显示的Item的View很可能没有被创建。所以在快速移动的时候,RecyclerView并没有创建那个应该获取焦点的View,所以导致焦点飞到其他可承载焦点的View上去了。

2.解决焦点错乱到处瞎跑的方法如下:

自定义RecyclerView,拦截dispatchkeyEvent事件,根据遥控器按钮操作来获取焦点

package com.exa

android 焦点乱跳,AndroidTV开发5——解决Recyclerview快速移动时焦点错乱问题相关推荐

  1. recyclerView中editText焦点乱跳问题

    rv中有输入框的时候 焦点会一直跳到第一个 做列表输入的时候问题就很多 解决方案: 1. Activity 中(加这个可以在点击非et部分时收起键盘,如不需要则不加 看2) /*** 获取点击事件*/ ...

  2. 针对Office2013专业版,光标乱跳的问题 的解决

    如题,该问题为office的bug,需打KB2863845补丁,可通过以下地址https://support.microsoft.com/zh-cn/hotfix/kbhotfix?kbnum=286 ...

  3. H5开发app解决输入文本时,软键盘遮盖掉页面

    首先我们要清楚输入时候触发软键盘的时候我们触发了什么事件,是调整浏览器窗口的大小时的resize事件 我们知道了触发了什么事件就好办了,我们做一个监听这个事件的方法就好 以下是范例代码,使用了jq的r ...

  4. 解决RecyclerView刷新,数据显示错乱

    [问题现象] 做一个条目展示的的项目用到RecyclerView,在界面中有收藏和取消收藏的功能,第一个出现的问题就是点击按钮收藏或者取消收藏后,按钮的状态发生了改变,但是当收藏或者取消收藏的条目上下 ...

  5. 触摸屏(TP)乱跳原因总结

    触摸屏(TP)乱跳原因总结 导致触摸屏乱跳的原因大概分为5类: (1) 触摸屏硬件通道损坏   (2)触摸屏固件版本太低 (3) 触摸屏工作电压异常   (4) 射频干扰   (5)触摸屏校准异常 硬 ...

  6. Android插件化开发之解决OpenAtlas组件在宿主的注冊问题

    Android插件化开发之解决OpenAtlas组件在宿主的注冊问题 OpenAtlas有一个问题,就是四大组件必须在Manifest文件里进行注冊,那么就必定带来一个问题,插件中的组件都要反复在宿主 ...

  7. java指针乱跳_鼠标卡顿,指针乱跳,鼠标失灵的解决办法。 涨知识了

    你是否经历过,鼠标卡顿,屏幕上指针乱跳,指针消失,等等鼠标失灵的窘境呢?那就跟着LZ来看看原因和解决办法. 工具/材料 只需要一颗好奇平静的心即可. 操作方法 01 现象1:鼠标卡顿.其表现是,经常无 ...

  8. 笔记本电脑计算机乱跳,笔记本屏幕的鼠标指针乱跳解决方法

    我们经常遇到笔记本驱动都无问题,硬件也确保是好的,但是频繁在输入的时候,鼠标指针就自动跳到别的地方,偶尔一次无所谓,频繁这样就很烦人,尤其打字速度越快,鼠标指针就越会跳到另一个地方,很是烦人 看!刚打 ...

  9. 解决串口通信时会导致鼠标乱跳的问题

    本文转载http://bbs.eeworld.com.cn/thread-492074-1-1.html 不知道大家有没有遇到过在调试串口通信的时候,出现过鼠标指针不受控的乱跳的问题.遇到这样的问题, ...

最新文章

  1. 简易在线实验室管理系统
  2. 价值60W 的字节工牌,面试太卷了...
  3. 计算机的桌面图标都没有了怎么办,电脑桌面图标都没了怎么办 怎么恢复
  4. LaTex 各种特殊符号
  5. 计算机粘贴功能不能用了,电脑复制粘贴不能用了【解决办法】
  6. Centos 7.5安装配置MongoDB 4.0.4
  7. 快速打造一个MINI自动发布系统
  8. python2048小游戏程序设计大作业_C语言大作业报告——2048小游戏程序
  9. 从佛罗伦萨记账到区块链,应用才是区块链崛起的真正标志
  10. shell之脚本片断
  11. using + .net 中的别名
  12. linux系统安装java环境_linux系统java环境配置
  13. Pytest + Allure 测试报告定制
  14. java-家庭作业2
  15. 每个系统都在用的appid、appkey、appsecret都是什么意思?
  16. MySQL数据导入1026报错问题
  17. 为此计算机所有用户安装此项,windows已经阻止此软件因为无法验证发行者,教您提示win已阻止此软件因为无法验...
  18. nz-modal 使用
  19. 【Jetpack篇】LiveData取代EventBus,安卓面试项目
  20. 多层感知机(MLP)简介

热门文章

  1. Android 实现微博分享功能
  2. 传播是一种由两个独立的期权合同
  3. windows修改ip地址
  4. 从全栈工程师到全栈管理师——全栈管理师诞生记
  5. abb限位开关已打开drv1_ABB LS30P11D11-R 限位开关
  6. 德标Y型过滤器特质及安装
  7. TRC肝炎病毒蛋白酶标记抑制剂丨TRC Telaprevir-d4说明书
  8. 7.2DIY可视化后台表格自定义列显示类型
  9. R语言|绘制简单小提琴图
  10. my cloud 验证服务器,西数MyCloud设备存在认证绕过漏洞CVE-2018-17153 - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com...