在 recyclerview 上退出文本会导致焦点问题并修复它会破坏键盘隐藏 EditText 可见性

Posted

技术标签:

【中文标题】在 recyclerview 上退出文本会导致焦点问题并修复它会破坏键盘隐藏 EditText 可见性【英文标题】:ExitText on recycler-view cause problem in focus and fixing it breaks the keyboard hiding EditTect visibility 【发布时间】:2019-09-30 15:01:21 【问题描述】:

在回收站视图和 EditText 中遇到问题。由于视图刷新,焦点丢失。已使用来自manifest 的以下配置修复了此问题。

android:windowSoftInputMode="stateHidden|adjustResize|adjustPan"

但是,这会破坏我现有的功能。隐藏在键盘后面的 EditText。为了解决这个问题,需要更改配置。

android:windowSoftInputMode="adjustResize"

如何用一个配置解决这两个问题。

【问题讨论】:

【参考方案1】:

折腾了好久,终于找到了解决办法,但不知道好不好。

来自回收站适配器:

为来自 onBindViewHolder 的编辑文本添加了焦点更改侦听器 获得焦点后,索引已从适配器捕获到变量 检查 onBindViewHolder 中的最后一个焦点索引(第 2 步),如果它等于当前索引,则将请求焦点置于当前输入。

经过各种构建测试,效果很好。

【讨论】:

如果单个 Item 中有多个 EditText。

以上是关于在 recyclerview 上退出文本会导致焦点问题并修复它会破坏键盘隐藏 EditText 可见性的主要内容,如果未能解决你的问题,请参考以下文章

通过Protractor在Ace Editor中插入文本会引发错误

设置标签的文本会导致堆栈视图布局问题

更改 TextFormatter 中的文本会导致递归调用

为 UITextView 设置文本会导致重置为默认字体和颜色问题

焦点更改时强制 RecyclerView 滚动(Android TV)

向 PayPal 购物车发送文本会导致出现奇怪的字符