Попробуйте это, он работал со мной в моем приложении,
В классе адаптера поместить это ниже кода,
здесь MessageList это имя Arraylist,
public void swap(int firstPosition, int secondPosition)
{
Collections.swap(MessageList, firstPosition, secondPosition);
notifyItemMoved(firstPosition, secondPosition);
}
теперь добавить этот небольшой класс отдельно,
здесь Adapter
это имя класса адаптера поставить свое имя адаптера
public class MovieTouchHelper extends ItemTouchHelper.SimpleCallback {
Aadapter recycleAdapter;
public MovieTouchHelper(Aadapter recycleAdapter) {
super(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT);
this.recycleAdapter = recycleAdapter;
}
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
recycleAdapter.swap(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
recycleAdapter.remove(viewHolder.getAdapterPosition());
}
}
Затем в mainActivity, где вы определили recycleview,
ItemTouchHelper.Callback callback = new MovieTouchHelper(adapter);
ItemTouchHelper helper = new ItemTouchHelper(callback);
helper.attachToRecyclerView(rv_list);
здесь rv_list
это название recycleview.
Следуйте эти шаги, и если вы обнаружите какие-либо проблемы или вы не можете SWIP пунктов, то прямо скажите ...
Смотрите эту GIF
@Abdul, Hey Пожалуйста, помогите если у вас есть представление об этом. – Vishal
Я решаю вашу проблему, см. Мой ответ .. –