Следующий вопрос не относится к реализации адаптера.Основное назначение самого Adapter
- предоставить предметы.Например, в FastAdapter
адаптер полностью независим от любого пользовательского интерфейса.и будет обрабатывать только абстрактные элементы.
Задача View
- определить, как элемент будет выглядеть и вести себя.Таким образом, это полностью зависит от разработчика, и вся гибкость предоставляется.
В целях демонстрации такой случай был реализован в примере приложения FastAdapter
.
Вам необходимо будет прикрепить ItemTouchHelper.SimpleCallback
к RecyclerView
, который будет обрабатывать действия пользователя, проведенные по нажатию.
С помощью предоставляемых утилитных классов это делается следующим образом:
touchCallback = new SimpleSwipeDragCallback(
this,
this,
leaveBehindDrawableLeft,
ItemTouchHelper.LEFT,
ContextCompat.getColor(this, R.color.md_red_900)
)
.withBackgroundSwipeRight(ContextCompat.getColor(this, R.color.md_blue_900))
.withLeaveBehindSwipeRight(leaveBehindDrawableRight);
touchHelper = new ItemTouchHelper(touchCallback); // Create ItemTouchHelper and pass with parameter the SimpleDragCallback
touchHelper.attachToRecyclerView(recyclerView); // Attach ItemTouchHelper to RecyclerView
Полный исходный код примера можно найти здесь: https://github.com/mikepenz/FastAdapter/blob/develop/app/src/main/java/com/mikepenz/fastadapter/app/SwipeListActivity.java#L120