我使用 itemTouchHelper.callback 在 recyclerView 中实现了物品的重新排序,因为这似乎是当前最受欢迎的解决方案。但是,这仅允许在长按任何项目后重新排序,并且我需要能够随时随地自由移动项目(我将项目 itemTouchHelper 附加为“编辑模式”,然后立即分离。
最简单的方法是什么?
最佳答案
首先在itemTouchHelper中禁用LongPressDragEnabled,然后在触摸您的自定义手柄视图即Imageview或类似的东西时调用startDrag(RecyclerView.ViewHolder)
viewHolder.dragButton.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (MotionEvent.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
mItemTouchHelper.startDrag(viewHolder);
}
return false;
}
});