初始化 lateinit var 时通知 (Kotlin)

SAR*_*ose 6 kotlin kotlin-lateinit

这是一个直截了当的问题,但我找不到答案。lateinit var在 Kotlin 中初始化a 时,有没有办法得到通知?

我知道我可以检查它是否已初始化,this::coolvar.isInitialized但这不一样。

谢谢

vod*_*dan 3

lateinit var仅在最简单的情况下才能正常工作,即未初始化的值在应用程序的上下文中没有意义,例如依赖项注入或onCreate().

您需要的是具有特定行为的属性委托。看一眼Delegates.observable

var coolvar by Delegates.observable("initial value") { _, old, new ->
    println("coolvar has been updated")
}
Run Code Online (Sandbox Code Playgroud)