我使用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