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