Recyclerview 中包含 webView 和 EditText 导致 编辑框无法输入的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Recyclerview 中包含 webView 和 EditText 导致 编辑框无法输入的问题相关的知识,希望对你有一定的参考价值。

参考技术A 不知道怎么就遇到了一些奇葩的需求,掉进了一写奇葩的坑,现在的话就是在记录一下脱坑历程,最近做的一个页面,分为上中下三个部分,上面是原生的布局,中间全是webView 下面又是一个原生布局。一开始是打算是用NestedScrollView 来写的,结果做出来发现,webView的高度无法自适应,而且连滑动也是冲突了。没有办法,只有使用RecyClerview ,把上面的部分和webView 写在一个布局里,作为Rv的第一个Viewholder,最底部的原生页面作为第二个ViewHolder.
写出来之后发现webView 抢占了输入框的焦点事件,导致编辑框无法调起输入法输入。

其实我是认为这样写是没问题的,我给EditText 设置了获取焦点的属性,给webView 设置了禁止获取焦点的属性,但是运行结果是狠狠打脸了,编辑框是无法输入的,后来才发现,罪魁祸首是这一个属性

我居然不知道什么时候给我的Activity布局上加入了这个属性,对于这个属性,有的一说

所以当我把这个属性去掉后,editText 就能正常输入了。

习惯了java的setText 方法后,使用Kotlin 已经没有这种写法了,ed.text="123456799"结果这种写法会报一个类型不匹配的错误,现在也说一下解决的办法。那么正确的写法就是:

对的,就是要把文字转成EditAble 类型的才可以正常设置。

以上是关于Recyclerview 中包含 webView 和 EditText 导致 编辑框无法输入的问题的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView中的WebView,滚动问题

保存 RecyclerView 状态的最佳方法是啥?

一个 LinearLayoutManager 只适用于一个 RecyclerView?

recyclerview 中的 Webview 没有就地展开。 (底部没有缩小)

RecyclerView 自动滚动到 WebView/Fresco SimpleDraweeView 项

Webview在RecyclerView中开启硬件加速闪屏问题解决