如何在Kotlin中使用Dagger的2 @Named限定符
最近我遇到了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
,所以没有必要使用可空types的Typeface?