2016-07-12 53 views
1

ユーザーがRecyclerviewアイテムを長押しして下または上にスワイプした後、ドラッグ操作を実行しようとしています。長いプレスでは、私はすでにアクションモードを開始しているので、ユーザーが長押しした後にスワイプした後、ドラッグだけを開始する必要があります。私はRecyclerviewでonTouchリスナーを実装しようとしましたが、ACTION_DOWNイベントは受け取りません。指を離すと、ACTION_MOVEとACTION_UPだけを受け取ります。ジェスチャーリスナーの中で、私はドラッグを開始します。しかし、このシナリオでACTION_DOWNをキャプチャする方法やスワイプダウン/アップする方法はありますか?Recyclerviewアイテムを長時間クリックした後にドラッグ操作

ItemTouchHelperやドラッグソートリストビューのようなアイテムを移動したくありません。

recyclerAdapter.setOnItemLongClickListener(new Recycler.OnItemLongClickListener() { 
     @Override 
     public void onItemLongClick(View view, int position) { 
       getActivity().startActionMode(this); 
       mStartDrag = true; 
    }}); 

recyclerViewList.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View view, MotionEvent motionEvent) { 
      Logger.log("TAG", "On item touch"+ motionEvent.getActionMasked()); // Returns 2 (ACTION_MOVE) 

      if (mStartDrag) { 

       if (gestureDetector.onTouchEvent(motionEvent)) { 
        return false; 
       } 
      } 
      return false; 
     } 
    }); 
+0

このことができますかどうかを確認 - https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf#.1gbc3qumq –

答えて

0
viewHolder.drag.setOnLongClickListener(new View.OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View v) { 
      mStartDragListener.onStartDrag(viewHolder); 
      return false; 
     } 
    }); 
+0

レビューを:いくつかの説明だけでなく、純粋を使用することができますコードソリューション – toonarmycaptain

関連する問題