gpt4 book ai didi

variables - 使用 PropertyChangeSupport 获取变量更改通知(例如可观察、委托(delegate))

转载 作者:行者123 更新时间:2023-12-05 09:16:33 24 4
gpt4 key购买 nike

我有这种问题,我想听听变量的变化。让我们假设我已经初始化了 var foo:Int = 10 并且在代码中某处将它的值更改为其他值让我们假设 foo = 99 这是我在 kotlin 中的代码片段。

var foo:Int=10

private val changeSupport: PropertyChangeSupport? = PropertyChangeSupport(foo)

val observer = {
property: KProperty<*>,
oldValue: Int?,
newValue: Int? -> changeSupport!!.firePropertyChange(property.name, oldValue, newValue)
}

var oof: Int? by Delegates.observable(foo, observer)
changeSupport!!.addPropertyChangeListener { event ->
Log.d("loggg","Property [${event.propertyName}] changed " + "from [${event.oldValue}] to [${event.newValue}]")
}

因此,当我在代码中的某处编写 foo = 99 时,我必须接收日志。我按照这篇文章尝试了很多东西,但没有成功。我错过了什么吗?

How to create change listener for variable?

http://kotlination.com/kotlin/kotlin-observable-property-delegated-property https://www.javalobby.org/java/forums/t19476.html

最佳答案

所以解决方案比我想象的更简单。我必须首先像这样用委托(delegate)和可观察变量分配变量。

 var foo:Int? by Delegates.observable(10) { property, oldValue, newValue ->

Log.d("loggg","gggol")

}

每次我调用 foo=something 时,它都会记录以下输出。谢谢。)

关于variables - 使用 PropertyChangeSupport 获取变量更改通知(例如可观察、委托(delegate)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50142942/

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