RecyclerView中adapter列表里有EditText输入框问题(使用不复用方法解决)

本文针对移动端应用中输入框点击时键盘闪现的问题及输入框因复用导致的数据显示混乱问题,提供了有效的解决方案。对于键盘闪现问题,通过调整窗口软输入模式并优化UI布局来解决;对于数据混乱问题,则是在适配器中禁用了视图的复用来确保数据正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题1:在点击输入框的时候键盘会一闪而过,初步分析师由于点击输入框后弹出键盘导致UI布局变又重绘了布局,所以导致该输入框失去了焦点导致键盘一闪而过

  解决方法  使用弹出键盘时不改变布局的方法来解决(由于没有大神的水平只有这样子来解决啦不要见怪)

问题2:输入框的数据由于复用导致数据显示混乱

  在manifest中的activity中配置

android:windowSoftInputMode="adjustPan"//当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
在recyclerview的布局代码中添加
----------------------
android:descendantFocusability="beforeDescendants"
android:descendantFocusability的三种属性

//beforeDescendants:viewgroup会优先其子类控件而获取到焦点

  //afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

  //blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

------------------------------

在adapter里面的onBindViewHolder函数中使用

//        强行关闭复用
holder.setIsRecyclable(false);
 

转载于:https://www.cnblogs.com/xiguameng/p/6667594.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值