ユーザーが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;
}
});
このことができますかどうかを確認 - https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf#.1gbc3qumq –