been called but dragging is not enabled
Собственно момент, который вызывает данную проблему.
((StationHolder) holder).itemView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (MotionEventCompat.getActionMasked(event) ==
MotionEvent.ACTION_DOWN) {
RadiosPageFragment.getMItemTouchHelper().startDrag(((StationHolder) holder));
}
return false;
}
});
ItemTouchHelper юзай
его и юзаю
настроено, надеюсь, всё ок?
Чтобы оно работало ты должен в item touch helper переопределить getMovementFlags и возвращать, допустим, makeMovementFlags(ItemTouchHelper.UP | ItemTouchHelper.DOWN, 0)
@Override public int getMovementFlags(RecyclerView recyclerView, @NotNull RecyclerView.ViewHolder viewHolder) { if (viewHolder instanceof HorizontalListHolder || !mAdapter.canDrag()) return 0; // Set movement flags based on the layout manager if (recyclerView.getLayoutManager() instanceof GridLayoutManager) { final int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT; final int swipeFlags = 0; return makeMovementFlags(dragFlags, swipeFlags); } else { final int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT; final int swipeFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT; return makeMovementFlags(dragFlags, swipeFlags); } }
попробуй всегда возвращать это, если не сработает, значит баг не тут
Обсуждают сегодня