如何在 Kotlin 中使用 Dagger 的 2 @Named 限定符
How to use Dagger's 2 @Named qualifier in Kotlin
最近我遇到了 Kotlin 中 @Named
限定符的问题。我认为从这个改变:
var boldTypeface: Typeface? = null
[Inject] set
进入这个
var boldTypeface: Typeface? = null
[Inject Named("bold")] set
或
var boldTypeface: Typeface? = null
[Inject] [Named("bold")] set
会解决我的问题。但它没有,它甚至没有编译。
我不得不更新我的答案,因为 Kotlin 改进了很多。现在我正在使用 Kotlin 1.0 beta 3
要为 属性 正确设置多个注释,您必须使用 @field
注释:
@field:[Inject Named("bold")]
lateinit var boldTypeface: Typeface
注意我这里用的是lateinit
所以没必要用nullable类型Typeface?
最近我遇到了 Kotlin 中 @Named
限定符的问题。我认为从这个改变:
var boldTypeface: Typeface? = null
[Inject] set
进入这个
var boldTypeface: Typeface? = null
[Inject Named("bold")] set
或
var boldTypeface: Typeface? = null
[Inject] [Named("bold")] set
会解决我的问题。但它没有,它甚至没有编译。
我不得不更新我的答案,因为 Kotlin 改进了很多。现在我正在使用 Kotlin 1.0 beta 3
要为 属性 正确设置多个注释,您必须使用 @field
注释:
@field:[Inject Named("bold")]
lateinit var boldTypeface: Typeface
注意我这里用的是lateinit
所以没必要用nullable类型Typeface?