iPaulPro / Android-ItemTouchHelper-Demo

Basic example of using ItemTouchHelper to add drag & drop and swipe-to-dismiss to RecyclerView.
Apache License 2.0
2.51k stars 499 forks source link

Temporary disable drag and drop #23

Open DanielRitvas opened 8 years ago

DanielRitvas commented 8 years ago

Hello, I know how to disable drag and drop for specific type of ViewHolder at all, but how can I control it's "on/off" state from activity?

wiktorwar commented 8 years ago

You should use global boolean parameter and then set dragFlags to 0 when drag&drop is off, otherwise set proper drag flags. @Override public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { int dragFlags = DriversSingleton.getDriversSingleton().isEditMode()? ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT:0; final int swipeFlags = 0; return makeMovementFlags(dragFlags, swipeFlags); }