NestedScrollView/ScrollView嵌套Recyclerview,导致Recyclerview抢占焦点,置顶了, 修改好后,引起Edittext又不能点击问题处理
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又不能点击问题处理相关推荐
- Android之解决ScrollView嵌套RecycleView导致滑动冲突或者显示不全的问题
1 问题 ScrollView嵌套RecycleView导致滑动冲突或者显示不全的问题 2 解决办法 1).ScrollView替换成普通布局,然后RecycleView用的BaseMultiItem ...
- Scrollview嵌套PreferenceFragment导致Fragment高度异常问题
Scrollview嵌套PreferenceFragment导致Fragment高度异常问题 起因 解决过程 结果 起因 为了在普通布局中嵌入多个switchpreference,自然就使用了Pref ...
- Android ScrollView嵌套GridView导致GridView只显示一行item
Android ScrollView嵌套GridView导致GridView只显示一行item Android ScrollView在嵌套GridView时候,会导致一个问题发生:GridView只显 ...
- android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例
Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...
- 在Coordinatorlayout中使用RecyclerView导致recyclerview最后一个item显示不全的问题
recyclerview layout in coordinatorlayout cause last item not visible (cutting off) 在Coordinatorlayou ...
- android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例
前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...
- ViewPager相互嵌套,导致子ViewPager无法滑动,且子ViewPager中的view无法被点击
场景:当使用ViewPager进行嵌套的时候,子viewPager是无法进行嵌套的,因此我们要重写ViewPager类,并重写里层viewPager类中的onTouchEvent方法,调用其父 ...
- android toast有焦点,android – 如何在显示Toast后进行edittext自动对焦?
我有一个EditText,读取13位数的条形码.我想要做的是保持屏幕上显示的虚拟键盘和EditText始终具有焦点.下面的代码让我编写条形码并在按下回车键时搜索产品,并且效果很好.但是如果我输入的条形 ...
- android解决ScrollView嵌套ListView不能下拉刷新
为了不误导新人,这篇帖子写的比较早了,这里2016年2月23日21:33:20更新的内容: 千万不要在实际开发中用scrollview嵌套listview\recylerview来处理滑动嵌套, ...
最新文章
- 利用VSTS工具自动测试
- demo:a spreadsheet-like application
- win32汇编处理字符消息和给常量区标号赋值
- 「3D Object Detection」Lidar Part : First Taste
- xListView的使用步骤
- 如何检查python的库是否安装成功_如何测试redis是否安装成功
- jQuery概述、优点、使用步骤、入口函数、jQuery对象和DOM对象之间的转换、层级选择器、属性选择器、筛选选择器、节点选择器
- 关于mybatis中type-aliases-package使用的几个问题
- 模拟——乒乓球(洛谷 P1042)
- 23.vs2015创建Qt界面动态库
- android 坚挺通话广播_关于短信黑名单 BroadCast
- Linux驱动开发 / 字符设备驱动内幕 (1)
- 第一次使用Latex编辑论文,经验分享
- 启动mongodb时发现错误libcrypto.so.10
- [数据可视化] 南丁格尔玫瑰图
- python 自动输入_鼠标自动点击、键盘自动输入?几行Python代码搞定
- Baby-Step-Giant-Step算法
- 苏爱华奋斗撒酒疯快乐到家斯卡拉减肥倒萨
- 从12306帐号泄漏谈用户密码安全
- kafka数据清理配置——删除篇