我使用https://github.com/iPaulPro/Android-ItemTouchHelper-Demo/中的示例来处理RecyclerView
上的拖动和滑动操作。除了我不知道如何阻止它向上/向下/向左滑动之外,它工作得很好。我可以忽略滑动,但我不希望它们发生。那可能吗?如何阻止我的recyclerview允许向左滑动,并且只允许右滑动?
我甚至在上面链接的例子中修改了这段代码,将ItemTouchHelper.RIGHT
添加到滑动标志,但它没有帮助。
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
// 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;
final int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END | ItemTouchHelper.RIGHT ;
return makeMovementFlags(dragFlags, swipeFlags);
}
}
“我甚至修改这个代码在我上面挂ItemTouchHelper.RIGHT添加到刷卡标志的例子,但它并没有帮助。”这是正确的方向,请发布您的修改代码 –
代码已发布。看看这行'final int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END | ItemTouchHelper.RIGHT;'我也测试过以确保代码被调用。 – casolorz