В Kotlin, как я могу определить var
который имеет ленивое значение по умолчанию?
например, значение val
будет примерно таким:
val toolbarColor by lazy {color(R.color.colorPrimary)}
То, что я хочу сделать, имеет значение по умолчанию для некоторого свойства (toolbarColor
), и я могу изменить это значение для чего-либо еще. Является ли это возможным?
EDIT: Это делает частичный трюк.
var toolbarColor = R.color.colorPrimary
get() = color(field)
set(value){
field = value
}
Можно ли это облегчить, написав
var toolbarColor = color(R.color.colorPrimary)
set(value){
field = value
}
таким образом, что значение по умолчанию вычисляется лениво? На данный момент это не сработает, потому что color()
нуждается в Context
который только инициализируется позже.