ItemTouchHelper.Callback mCallback = new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP|ItemTouchHelper.DOWN,ItemTouchHelper.RIGHT) { @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { int fromPosition = viewHolder.getAdapterPosition();//得到拖动ViewHolder的position int toPosition = target.getAdapterPosition();//得到目标ViewHolder的position if (fromPosition < toPosition) { //分别把中间所有的item的位置重新交换 for (int i = fromPosition; i < toPosition; i++) { Collections.swap(datas, i, i + 1); } } else { for (int i = fromPosition; i > toPosition; i--) { Collections.swap(datas, i, i - 1); } } mAdapter.notifyItemMoved(fromPosition, toPosition); //返回true表示执行拖动 return true; } @Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { int position = viewHolder.getAdapterPosition(); datas.remove(position); mAdapter.notifyItemRemoved(position); } }; ItemTouchHelper itemTouchHelper = new ItemTouchHelper(mCallback); itemTouchHelper.attachToRecyclerView(mRecyclerView);
拖拽上下滑动不了是怎么会事啊
为梦想努力_冬
相关分类