这是大概十多天前遇到的问题,只是一直懒得记录下来,现在补上。
是这样的,我需要实现一个列表并且要支持上下拖动,代码的实现跟网上大部分的实现类似,代码如下:
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.Callback() {
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
// 支持上下拖动
int dragFlags = ItemTouchHelper.DOWN | ItemTouchHelper.UP;
// swipeFlags为0,即不支持滑动
int swipeFlags = 0;
return makeMovementFlags(dragFlags,swipeFlags);
}
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
int originalPosition = viewHolder.getAdapterPosition();
int targetPosition = target.getAdapterPosition();
/***********************代码段一********