我们是在使用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 {