当lateinit var被初始化时通知(Kotlin)
这是一个简单的问题,但我找不到答案。 有没有办法在Kotlin初始化一个lateinit var
时被通知?
我知道我可以检查它是否已经被初始化为this::coolvar.isInitialized
但这是不一样的。
谢谢
lateinit var
只适用于最简单的情况,例如dependency injection或onCreate()
后期初始化,这些未初始化的值在应用程序上下文中没有意义。
你需要的是一个具有特定行为的财产委托。 看看Delegates.observable
:
var coolvar by Delegates.observable("initial value") { _, old, new -> println("coolvar has been updated") }