NestedScrollView/ScrollView嵌套Recyclerview,导致Recyclerview抢占焦点,置顶了, 修改好后,引起Edittext又不能点击问题处理

NestedScrollView嵌套Recyclerview时,我们点击Recyclerview的条目之后,发现Recyclerview会被顶上去,后来发现是因为Recyclerview抢占焦点导致的,解决办法:

在xml布局中的NestedScrollView节点上添加 android:focusableInTouchMode=“true”。

在Recyclerview直属父布局上加

android:descendantFocusability="blocksDescendants"

EditText点击无反应解决办法
在画一个页面的时候,发现复用的自定义文本框组件,不管怎么点击、长按,都无法获得焦点并弹出输入法进入到可编辑模式。
给文本框组件加上点击事件,点击事件内的逻辑可以执行,但唯独不可编辑。网上常见的解决办法都没办法解决。

遂沿着页面层次往上找,打算一层一层,一个属性一个属性的排查。在包裹整个页面组件的LinearLayout中发现一个属性

这个属性是当一个view获取焦点时,定义viewGroup和其子控件两者之间的关系。属性的值有三种:

属性   描述beforeDescendants viewgroup会优先其子类控件而获取到焦点afterDescendants viewgroup只有当其子类控件不需要获取焦点时才获取焦点blocksDescendants viewgroup会覆盖子类控件而直接获得焦点

于是将外层LinearLayout中的这个属性的值改为beforeDescendants,果然好使了。应该是ViewGroup将EditText的编辑事件拦截,导致无法获取焦点并弹出输入法。

最后想了一个办法 在其布局中设置android:descendantFocusability=“blocksDescendants” 然后到了页面之后代码中
方法一:在scrollview 滚动时设置回来

nestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (nestedScrollView1, i, i1, i2, i3)
-> ll_focus.setDescendantFocusability(FOCUS_AFTER_DESCENDANTS));

方法二:在activity触摸时间响应时时

   @Overridepublic boolean dispatchTouchEvent(@NotNull MotionEvent ev) {ll_focus.setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);return super.dispatchTouchEvent(ev);}

NestedScrollView/ScrollView嵌套Recyclerview,导致Recyclerview抢占焦点,置顶了, 修改好后,引起Edittext又不能点击问题处理相关推荐

  1. Android之解决ScrollView嵌套RecycleView导致滑动冲突或者显示不全的问题

    1 问题 ScrollView嵌套RecycleView导致滑动冲突或者显示不全的问题 2 解决办法 1).ScrollView替换成普通布局,然后RecycleView用的BaseMultiItem ...

  2. Scrollview嵌套PreferenceFragment导致Fragment高度异常问题

    Scrollview嵌套PreferenceFragment导致Fragment高度异常问题 起因 解决过程 结果 起因 为了在普通布局中嵌入多个switchpreference,自然就使用了Pref ...

  3. Android ScrollView嵌套GridView导致GridView只显示一行item

    Android ScrollView嵌套GridView导致GridView只显示一行item Android ScrollView在嵌套GridView时候,会导致一个问题发生:GridView只显 ...

  4. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

  5. 在Coordinatorlayout中使用RecyclerView导致recyclerview最后一个item显示不全的问题

    recyclerview layout in coordinatorlayout cause last item not visible (cutting off) 在Coordinatorlayou ...

  6. android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...

  7. ViewPager相互嵌套,导致子ViewPager无法滑动,且子ViewPager中的view无法被点击

        场景:当使用ViewPager进行嵌套的时候,子viewPager是无法进行嵌套的,因此我们要重写ViewPager类,并重写里层viewPager类中的onTouchEvent方法,调用其父 ...

  8. android toast有焦点,android – 如何在显示Toast后进行edittext自动对焦?

    我有一个EditText,读取13位数的条形码.我想要做的是保持屏幕上显示的虚拟键盘和EditText始终具有焦点.下面的代码让我编写条形码并在按下回车键时搜索产品,并且效果很好.但是如果我输入的条形 ...

  9. android解决ScrollView嵌套ListView不能下拉刷新

    为了不误导新人,这篇帖子写的比较早了,这里2016年2月23日21:33:20更新的内容: 千万不要在实际开发中用scrollview嵌套listview\recylerview来处理滑动嵌套,   ...

最新文章

  1. 利用VSTS工具自动测试
  2. demo:a spreadsheet-like application
  3. win32汇编处理字符消息和给常量区标号赋值
  4. 「3D Object Detection」Lidar Part : First Taste
  5. xListView的使用步骤
  6. 如何检查python的库是否安装成功_如何测试redis是否安装成功
  7. jQuery概述、优点、使用步骤、入口函数、jQuery对象和DOM对象之间的转换、层级选择器、属性选择器、筛选选择器、节点选择器
  8. 关于mybatis中type-aliases-package使用的几个问题
  9. 模拟——乒乓球(洛谷 P1042)
  10. 23.vs2015创建Qt界面动态库
  11. android 坚挺通话广播_关于短信黑名单 BroadCast
  12. Linux驱动开发 / 字符设备驱动内幕 (1)
  13. 第一次使用Latex编辑论文,经验分享
  14. 启动mongodb时发现错误libcrypto.so.10
  15. [数据可视化] 南丁格尔玫瑰图
  16. python 自动输入_鼠标自动点击、键盘自动输入?几行Python代码搞定
  17. Baby-Step-Giant-Step算法
  18. 苏爱华奋斗撒酒疯快乐到家斯卡拉减肥倒萨
  19. 从12306帐号泄漏谈用户密码安全
  20. kafka数据清理配置——删除篇

热门文章

  1. 华为防火墙SLB算法
  2. 从代理设计模式到Spring AOP
  3. Auto.js 图色识别不到的问题
  4. 男人最渴望拥有的十类妻子
  5. python写论文难吗_师兄一年发表5篇CSSCI,原来高手也用套路……
  6. 出塞二首 唐 · 王昌龄
  7. 8086/8088 寻址方式
  8. 计算机低级格式化,低级格式化,教您硬盘怎么低级格式化
  9. 格式化代码_格式化代码是什么意思
  10. SQLServer分组数据