原生就自带有可拖动item的工具:ItemTouchHelper
看下效果:
可拖动RecyclerView预览效果
接下来我们看如何使用。
1、自定义ItemTouchHelper的callback,用来限制是否可以拖动,以及拖动之后的位置更新:
其中判断条件中的item.isMovable这边是记录该item是否可以拖动,也可以换成其他判断条件比如根据位置判断等。
private static class MyItemTouchHelperCallback extends ItemTouchHelper.Callback {
private final ItemAdapter itemAdapter;
public MyItemTouchHelperCallback(ItemAdapter itemAdapter) {
this.itemAdapter= itemAdapter;
}
@Override
public int getMovementFlags(@NonNull RecyclerView recyclerView,
@NonNull RecyclerVi