tri*_*iad 14 android annotations kotlin
在Kotlin中,有没有办法在委托属性上定义注释(例如:) lazy?
class MyActivity: Activity() {
@ColorInt
val textColor: Int by lazy { ContextCompat.getColor(this, R.color.someColor) }
...
Run Code Online (Sandbox Code Playgroud)
IDE在@ColorInt注释处抛出错误:
此注释不适用于具有委托的目标'成员属性'
mko*_*bit 15
您可以使用注释来委托代理@delegate.
@delegate:ColorInt
val textColor: Int by lazy { ... }
Run Code Online (Sandbox Code Playgroud)
从文档:
delegate(存储委托属性的委托实例的字段).
hot*_*key 11
如果注解的getter对你来说是足够的,你可以使用注解使用站点内的目标,@get:ColorInt:
@get:ColorInt
val textColor: Int by lazy { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4424 次 |
| 最近记录: |