RecyclerView实现拖动排序和滑动删除功能

  

RecyclerView的拖动排序需要借助一下ItemTouchHelper这个类,ItemTouchHelper类是谷歌提供的一个支持RecyclerView滑动和拖动的一个使用类、下面使用该类实现RecyclerView的滑动删除和拖动排序功能。

  

阅读文本之前可以先阅读如下文章:

  
      <李> RecyclerView的简单使用李   <李> RecyclerView的项的单击事件   <李> RecyclerView的刷新分页   
  

首先大概介绍一下ItemTouchHelper的一个内部抽象类调类。

  

ItemTouchHelper.Callback

  

该类是ItemTouchHelper类中的一个静态抽象类,作用主要是将ItemTouchHelper于自己的应用联系在一起,让开发者通过ViewHolder控制每一个视图的具体行为,接收用户的事件回调。该类里面有三个抽象方法:getMovementFlags, onMove onswipe。也是开发中经常要是用的。

  
getMovementFlags
  

该方法返回一个旗帜表示项的三种状态状态:闲置(空闲),刷(滑动),拖拖(动),根据RecyclerView不同的布局管理器,设置不同的滑动,拖动方向,一般使用makeMovementFlags (int, int dragFlags swipeFlags)方法返回,dragFlags表示拖动的方向,swipeFlags表示滑动的方向。

  
 <代码类="语言java ">公共抽象int getMovementFlags (RecyclerView RecyclerView, ViewHolder ViewHolder);  
  
onMove
  

当ItemTouchHelper拖动一个项目时该方法将会被回调,项目将从旧的位置移动到新的位置,如果不拖动这个方法将从来不会调用,返回真正的表示项已经被移动到新的位置。

  
 <代码类="语言java ">公共文摘布尔>公共空>公共空间>公共去年clearView无效(RecyclerView RecyclerView, ViewHolder ViewHolder) {
  sUICallback.clearView (viewHolder.itemView);
  } 
  

RecyclerView实现拖动排序

  

RecyclerView的拖动排序需要借助一个android.support.v7.widget.helper。ItemTouchHelper这个类来实现,拖动排序重点是在接口里面的>   @Override   公共空间>/* *   *由jzman>/* *   *由jzman alt=" RecyclerView实现拖动排序和滑动删除功能”>    RecyclerView实现拖动排序和滑动删除功能”>
  
  
  
  <p>可关注微信公众号:<强> jzman-blog </强>获取最新文章更新,一起交流学习! </p>
  <p> <img src=

RecyclerView实现拖动排序和滑动删除功能