无需长按即可在recyclerView中重新排序项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无需长按即可在recyclerView中重新排序项目相关的知识,希望对你有一定的参考价值。

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

以上是关于无需长按即可在recyclerView中重新排序项目的主要内容,如果未能解决你的问题,请参考以下文章

是否有可能当recyclerview加载项只加载一次而不重新加载滚动?

android中RecyclerView控件实现长按弹出PopupMenu菜单功能

RecyclerView的单击和长按事件(转)

Android RecyclerView单击长按事件标准实现:基于OnItemTouchListener + GestureDetector

Android RecyclerView 监听Item短按和长按

带有 RecyclerView 的 CoordinatorLayout:onScroll