聊一聊RecyclerView的强大

一、RecyclerView的上下拖拽和左右侧滑删除。

       这就涉及到ItemTouchHelper类,点进去一看,又双叒叕是extends RecyclerView.ItemDecoration类,RecyclerView.ItemDecoration的其他用处,后面聊聊。

        现在接到一个需求,第一个item不能拖动也不能侧滑,第二个item不能向上拖动可以向下拖动和左右侧滑,其他的item都可以,好了满足上面的需求这就涉及到ItemTouchHelper的4个重写方法。

        1.设置可以拖拽。

        2.getMovementFlags(),这个方法就是指定拖拽和侧滑的标志的。真正指定标志的是makeMovementFlags(int dragFlags,int swipeFlags)。

        方法也是这样说明,用来创造移动标志,如果你想拖拽和左右滑动你可以调用这个方法。

       那我们着手开始实现,分别指定拖拽和侧滑方向

        说明:ItemTouchHelper.ACTION_STATE_IDLE这个是状态空闲状态,这个状态是用户没有相关动作,或者未触发拖拽和侧滑。

        3.处理拖拽事件。

        拖拽之后我们使item停留在拖拽的位置,

关键的方法是notifyItemMoved(int i1,int i2),有两个参数,第一个参数是原来的位置,第二个参数是被拖拽的位置,然后通知adapter去更新ui。

        4.处理侧滑事件

        这个就很容易了,移除对应滑动的item。

        最后ItemTouchHelper要绑定RecyclerView。

itemTouchHelper.attachToRecyclerView(mRecyclerviewUpMemberCard);

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容