使用Dagger 2在Kotlin中注入泛型类型

时间:2017-05-25 19:21:09

标签: android kotlin dagger-2

在模块中

@Provides
@Named("test")
fun provideTest(): Factory<Cat> {
    return createdFactory
}

活动

@Inject
@Named("test")
lateinit var mFactory: Factory<Cat>

最后我收到错误

  

错误:(1,1)处理注释时发生了一些错误。   请参阅上面的错误消息。

1 个答案:

答案 0 :(得分:0)

我在注入泛型类时遇到了同样的问题。以下是我的解决方案:

public class Bass<T> 

open class Cat() : Bass<Cat>()
open class Dog() : Bass<Cat>()

最后

@Provides
@Singleton
Cat providesCat() {
    return new Cat() {
    };
}

@Provides
@Singleton
Dog providesDog() {
    return new Dog() {
    };
}

如果某些东西是愚蠢但它有效 - 它不是愚蠢的:D