Как создать наблюдаемый список в kotlin

Я хочу обновить свой текст всякий раз, когда в мой список добавлен новый элемент. Я попытался сделать это с помощью кода ниже.

var myList: MutableList<ArrayList<String>> by Delegates.observable(mutableListOf(), onChange = { _, _, new -> Constants.debug("Value Changed") }) 

Но, похоже, это не работает. Любые идеи?

Это не работает, потому что делегат наблюдателя наблюдает только за изменениями в переменной , а не с объектом, хранящимся в этой переменной . Поэтому, когда список изменяется, переменная по-прежнему указывает на тот же список, и наблюдаемый делегат не знает, что что-то изменилось. Чтобы заметить это, вам понадобятся какие-то средства для фактического наблюдения за списком, который не является чем-то, что Kotlin или Java предоставляет из коробки. Для этого вам понадобится какой-то наблюдаемый список.

Кроме того, вы можете использовать стандартный список (вместо измененного), и всякий раз, когда вам нужно изменить список, замените его на новую версию списка. Таким образом, вы можете прослушивать изменения так же, как хотите, но, вероятно, вам нужно настроить много другого кода, используя этот список.

Intereting Posts
Kotlin: Intrinsics.areEqual бесконечный цикл (переполнение стека) Как импортировать пакеты Java в Kotlin Native Kotlin – Фабричный класс со свойствами Класс отсутствует конструктор без аргументов, но я предоставил конструктор без аргументов Каков правильный подход к «Этот класс AsyncTask должен быть статическим или может возникнуть утечка» в Kotlin Android? ReactiveStreams NPE при использовании publishOn с пользовательским издателем Строительство проектов Kotlin с Gradle иногда не получается с NoClassDefFoundError Новое для Kotlin..have проблемы с опциями и литьем Кнопка Kotlin setOnclickListener не работает TornadoFX – удалить элемент с помощью контекстного меню правой кнопкой мыши Почему экземпляр $ MockitoMock $ не идентифицируется как макет? Как обернуть текст в быстрой документации в IntelliJ? начать Намерение с контактом как vCard в строке Работает ли butterknife 7.x с Kotlin M14? Не удалось выполнить проверку: сбой инструментария из-за «kotlin.UninitializedPropertyAccessException»