CardStackLayoutManager - не получается привязать метод CardStackListenera onCardSwiped к конкретной view, соответствующую объекту

Не могу понять, как связать методы из CradStackListener-a, чтобы они вызывали действия с объектами, состоящими в АррайЛисте объектов, которые заполняют CardStackView.

CardStackListener - это интерфейс, в котором содержатся методы, в частности onCardSwiped (см ниже в коде)

В MainActivity:

public class MainActivity extends AppCompatActivity implements CardStackListener {

    private CardStackView myCardStackView;
    private PersonAdapter myAdapter;
    private CardStackLayoutManager myCardStackLayoutManager;
    ArrayList<Person> myPersonArrayList;

    protected void OnCreate(Bundle savedInstanceState) {
        //...
        myPersonArrayList = new ArrayList<>();
                myPersonArrayList.add(new Person("Kostya"));
                myPersonArrayList.add(new Person("Vitya"));
                myPersonArrayList.add(new Person("Artem"));

        myCardStackView = findViewById(R.id.card_stack_view);
        myCardStackLayoutManager = new CardStackLayoutManager(this, this); //здесь второй "this" - это CardStackListener listener
        myAdapter = new PersonAdapter(myPersonArrayList);

        myCardStackView.setLayoutManager(myCardStackLayoutManager);
        myCardStackView.setAdapter(myAdapter);
    }

    // дальше идут метода интерфейса CardStackListener:

    @Override
    public void onCardSwiped(Direction direction) {
        if (direction == Direction.Right) {
            Log.d(TAG, "onCardSwiped: called LEFT");
            Toast.makeText(this, "смахнул влево", Toast.LENGTH_SHORT).show(); 
            // здесь вместо toast-сообщения должен быть код, удаляющий текущий объект из списка.
            // Я не пойму как связаться с объектом. 
            // При этом имя объекта на itemView нормально отображается через OnBindViewHolder
        } else if (direction == Direction.Left) {
            Log.d(TAG, "onCardSwiped: called RIGHT");
            Toast.makeText(this, "смахнул вправо", Toast.LENGTH_SHORT).show();
        }
    }

В адаптере:

@Override
    public void onBindViewHolder(@NonNull PersonViewHolder holder, int position) {
        final Person currentPerson = myPersonArrayList.get(position);
        holder.tvName.setText(currentPerson.getName());
        holder.tvStatus.setText(currentPerson.getStatus());
    }

(Использовал данную библиотеку:)

dependencies {
    implementation "com.yuyakaido.android:card-stack-view:${LatestVersion}"
}

Ответы (0 шт):