Вы можете отключить SwipeRefreshLayout до тех пор, пока вы ударяя.
final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.Callback() {
@Override
public int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHolder) {
return makeMovementFlags(0, ItemTouchHelper.START | ItemTouchHelper.END);
}
@Override
public boolean onMove(RecyclerView recyclerView, ViewHolder viewHolder, ViewHolder target) {
return false;
}
@Override
public void onSwiped(ViewHolder viewHolder, int direction) {
// do something
}
@Override
public void onSelectedChanged(ViewHolder viewHolder, int actionState) {
super.onSelectedChanged(viewHolder, actionState);
final boolean swiping = actionState == ItemTouchHelper.ACTION_STATE_SWIPE;
swipeRefreshLayout.setEnabled(!swiping);
}
});
itemTouchHelper.attachToRecyclerView(recyclerView);
Это исправлено с использованием последней версии поддержки (v23 для sdk 23). – Elias