解决Recyclerview中对ItemTouchHelper使用中拖拽后点击item获得对应的数据不正确。

本文介绍了在使用RecyclerView和ItemTouchHelper实现拖拽功能时遇到的两个问题:1) 拖拽后点击item获取的数据不正确;2) 拖拽后部分item出现刷新动画。通过分析问题并提供解决方案,详细阐述了如何修复这些问题以优化用户体验。

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

我们是在使用Recyclerview的时候,往往会想着搞一些比较用户交互体验比较好的效果,拖拽或者删除等等。

在android5.0之后android v7包下提供了ItemTouchHelper,供我们开发者实现这些效果。

这里就不再详细赘述itemTouchHelper如何使用了,网上有很多好的文章介绍,

这里就推荐一篇https://www.jianshu.com/p/e3426dcc8ef1,作者GitLqr。写的很不错。

我主要是在对于ItemTouchHelper使用过程中遇到的几个问题记录一下。

第一个问题:

我们在拖拽item交换位置后,再次点击item获得对应的position的数据不正确。

第二个问题:

是根据修复第一问题后产生的,具体问题是拖拽后重新刷新position后,会再次刷新

被拖拽item与之交互的item,会产生刷新动画的效果。

不知道如何插入视频,本来是录了一个,查了很多资料却貌似csdn现在不支持了。

给一个视频链接吧http://www.56.com/u82/v_MTU5ODIzOTEx.html。我录了一下放到这上面了。

从视频中我们看到这种刷新效果很不友好。

 

 

对于上述两个问题我们来一一解决。

对于第一个问题,首先看代码:

//一个拖拽接口
public interface ItemMoveListener {
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值