Как реализовать слайд, чтобы показывать действия в recyclerview?

У меня есть приложение с recyclerview, показывающее некоторые элементы, recyclerview также поддерживает несколько типов представлений, которые можно изменить из настроек. Теперь я пытаюсь реализовать способ отображения некоторых действий для элементов recycliewiew, когда пользователь просматривает элемент. В частности, я искал способ реализовать всплывающее окно с действиями, аналогичными реле для приложения reddit.

Единственный ответ, который я мог найти более или менее, заключался в том, чтобы добавить просмотрщик к каждой строке в recyclerview, но это не похоже на очень чистое решение, особенно с несколькими типами просмотров. Как я могу реализовать эту функцию?

Ответы

Ответ 1

Правильный/рекомендуемый способ добавления действий в элементы RecyclerView при использовании пользовательского салфетки - использовать ItemTouchHelper.

Вы можете добавить такое действие:

        itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback() {
        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
            //Perform your action
        }
    });
    itemTouchHelper.attachToRecyclerView(recyclerView);