Ich versuche, einen Ziehvorgang durchzuführen, nachdem der Benutzer lange auf ein Recyclerview Element drückt und nach unten oder oben wischt. Wenn ich lange drücke, starte ich bereits den Action-Modus, also nachdem der Benutzer nach langem Drücken nach unten/oben wischt, muss nur der Ziehvorgang beginnen. Ich habe versucht, den onTouch-Listener in der Recyclerview zu implementieren, er empfängt jedoch kein ACTION_DOWN-Ereignis. Es empfängt nur ACTION_MOVE und ACTION_UP, wenn der Finger losgelassen wird. Im Gesten-Listener beginne ich mit dem Ziehen. Aber wie kann man ACTION_DOWN erfassen oder in diesem Szenario nach unten/oben streichen?Recyclerview Ziehvorgang nach Element lange klicken
Ich möchte keine Elemente wie ItemTouchHelper oder DragSort-Listenansicht verschieben.
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;
}
});
sehen, ob das hilft - https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf#.1gbc3qumq –