У меня есть RecyclerView и вы хотите, чтобы мои пользователи использовали жестовый салфет для удаления элементов из списка. Но, как известно из других приложений (например, Gmail), я хочу показать значок удаления позади него, чтобы мои пользователи знали, что результаты проверки удаляются. Однако я не могу найти очевидный способ сделать это. ItemTouchHelper использует viewHolder.itemView, поэтому он принимает целую строку.
Мой код:
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new
ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
@Override
public boolean onMove(
final RecyclerView recyclerView,
final RecyclerView.ViewHolder viewHolder,
final RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(
final RecyclerView.ViewHolder viewHolder,
final int swipeDir) {
adapter.remove(viewHolder.getAdapterPosition());
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(
simpleItemTouchCallback
);
itemTouchHelper.attachToRecyclerView(itemsRecyclerView);
itemsRecyclerView.setLayoutManager(
new LinearLayoutManager(getContext())
);
itemsRecyclerView.setAdapter(adapter);
Есть ли клей, если это вообще возможно? Единственное, что я могу себе представить сейчас - это расширить ItemTouchHelper/скопировать код, и вместо использования viewHolder.itemView я беру представление, идентифицируемое идентификатором.