Я реализовал смахивание влево, чтобы удалить действие в моем представлении переработчика, как показано ниже:
ItemTouchHelper
public class SwipeToDelete extends ItemTouchHelper.SimpleCallback {
//my custom adapter
private MyAdapter slAdapter;
public SwipeToDelete(MyAdapter adapter){
// TO only swipe to the left
super(0, ItemTouchHelper.LEFT);
slAdapter = adapter;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
slAdapter.deleteItem(position);
}
}
Мой адаптер
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MYViewHolder> {
//... onCreateViewHolder .. etc
//creating a list of my custom layout view
private List<MyCustomCardView> cards;
public void deleteItem(int position){
cards.remove(position);
notifyItemRemoved(position);
}
}
С помощью всего этого я могу прокручивать и удалять представления в моем recyclerView.
Что я хотел бы сделать, так это остановить прокрутку на полпути и показать значок. Затем пользователь может либо щелкнуть значок, и смахивание продолжится и удалит представление, либо продолжит смахивание самостоятельно, и представление будет удалено.
Поскольку сейчас пользователь может просто провести пальцем влево, и движение автоматически продолжится, я хотел бы иметь промежуточный шаг, на котором отображается значок, на который можно щелкнуть. Как это можно сделать с помощью приведенного выше кода?