我使用 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;
         }
     });

07-24 22:32