先对曾经点喜欢或者收藏这篇文章的朋友说声抱歉,因部分原因个人决定在简书停更并转移驻扎到其他平台。本想删除账号,可不忍已经点喜欢和收藏的朋友再进入此文章看到 “404” 的页面。所以在下面附上这篇文章转移的新地址。
《RecyclerView 梳理:点击&长按事件、分割线、拖曳排序、滑动删除》 新地址如下:
掘金: https://juejin.im/post/5a320ffcf265da43200342a3
CSDN: http://blog.csdn.net/shedoor/article/details/77326167
同时你也可以到我的个人博客网站查看:www.ocnyang.com
网友评论
当fromPosition 或者 toPosition 是这个item时就返回false;(如果是设置的tag,通过tag判断)
Collections.swap(datas, fromPosition, toPosition)
adapter.notifyItemMoved(fromPosition, toPosition)
另外大概瞅了下源码
isLongPressDragEnabled被调用之前还有个方法的
if (!mCallback.hasDragFlag(mRecyclerView, vh)) {
return;
}
这玩意被调用了,点了下看他最终还是判断movementsflag的,所以如果不想让第一个控件拖拽,也可以简单的在getMovementFlags方法里,根据viewholder获取position,如果等于0直接返回0,也能实现禁止第一个拖拽了。不知道对不对