ItemTouchHelperをお使いなら、CallbackのonMoveの中で要素を並び替えればOKです。
java
1List<Item> items = ...;
2
3ItemTouchHelper helper = new ItemTouchHelper(
4 new SimpleCallback(...) {
5 @Override
6 public boolean onMove(RecyclerView recyclerView, ViewHolder viewHolder, ViewHolder target) {
7 final int srcPos = viewHolder.getAdapterPosition();
8 final int dstPos = target.getAdapterPosition();
9
10 // itemsの中身を並び替える
11 items.add(dstPos, items.remove(srcPos));
12
13 adapter.notifyItemMoved(srcPos, dstPos);
14 return true;
15 }
16
17 ...
18 }
19);
20helper.attachToRecyclerView(recyclerView);