Вы на самом деле ничего не удаляете из cardsList
. cardsList?.toMutableList()
создает другой объект изменяемого списка и удаляет его. Вы должны сделать:
cardsList?.removeIf(condition)
Редактировать из вашего комментария. Я подозреваю, что хотя вы объявили cardsList
как MutableList
где-то по пути, вы сделали что-то вроде:
cardsList = listOf(...) as MutableList<SomeObject>
и, таким образом, cardsList
на самом деле не является изменяемым списком. Если это так, то перед тем, как удалить предмет, сделайте следующее:
cardsList = cardsList?.toMutableList()
, а затем:
cardsList?.removeIf(condition)