gpt4 book ai didi

android - 如何在 kotlin 中创建一个可观察列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:24 25 4
gpt4 key购买 nike

每当有新元素添加到我的列表时,我想更新我的文本..我试图通过下面的代码来做到这一点..

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

但它似乎不起作用..有什么想法吗?

最佳答案

它不起作用,因为 observbe 委托(delegate)只观察对变量 的更改,而不是对存储在该变量中 的对象的更改。所以当列表改变时,变量仍然指向同一个列表,可观察委托(delegate)不知道有什么改变。要观察到这一点,您需要一些方法来实际观察列表的内容,这不是 Kotlin 或 Java 提供的开箱即用的东西。为此,您需要某种可观察列表。

或者,您可以使用标准列表(而不是可变列表),当您需要更改列表时,将其替换为新版本的列表。通过这种方式,您可以随心所欲地收听更改,但可能需要使用该列表调整很多其他代码。

关于android - 如何在 kotlin 中创建一个可观察列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46727614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com