Kotlin Dagger 2 no puede proporcionar Interactor
Empecé a usar Dagger 2 y me enfrenté a un extraño problema. Tengo 4 modules, 3 de ellos en ApplicationComponent y el otro tiene un scope diferente (Userscope).
Problema al inyectar UsersInteractor
en UsersPresenter
- La versión de kotlin que se utiliza para comstackr con gradle (1.1.2-5) difiere de la que se incluye en el complemento IDE (1.1.2-4)
- El uso de Spring HATEOAS ControllerLinkBuilder y Kotlin arroja IllegalArgumentException
- ¿Cómo pasar una list como parámetro de testing parametrizado de JUnit5?
- No se puede save el model de datos que contiene List <Model> con Room ORM Kotlin
- ¿Cómo hacer que Cucumber deje que Spring inyecte classs definitivas en el paso?
Error: [BlankFragment)] com.interactors.UsersInteractor no se puede proporcionar sin un @Inject constructor o desde un método proporcionado por @ Provides-anotado.
Aquí están mis classs
@Singleton @Component(modules = arrayOf(ApplicationModule::class, NetworkModule::class, DbModule::class)) interface ApplicationComponent { fun plusUsersComponent(usersModule: UsersModule): UsersComponent } @Module class ApplicationModule(private val context: Context) { @Provides @Singleton fun provideContext(): Context = context } @Subcomponent(modules = arrayOf(UsersModule::class)) @UsersScope interface UsersComponent { fun inject(blankFragment: BlankFragment) } @Module class UsersModule { @Provides @UsersScope fun provideUsersRepository(restService: RestService, dbService: DbService): IUsersRepository = UsersRepository(restService, dbService) @Provides @UsersScope fun provideUsersInteractor(usersRepository: UsersRepository): IUsersInteractor = UsersInteractor(usersRepository) @Provides @UsersScope fun provideUsersPresenter(usersInteractor: UsersInteractor): IUsersPresenter = UsersPresenter(usersInteractor) } @Scope @Retention(AnnotationRetention.RUNTIME) annotation class UsersScope
- ¿Cómo puedo get una reference a Kotlin KClass por nombre cuando no se ejecuta en la JVM?
- ¿Cómo ejecutar código si el object es nulo?
- Subclass Relative Layout con constructores secundarios en Kotlin
- Los colors de Android Material Design no se aplican de forma coherente
- problemas de layout y errores en aplicaciones de Android desarrolladas usando kotlin
- Cómo restringir kotlin de usar java api que se anuncia arriba de jdk1.6
- ¿Cuáles son las diferencias entre el Código 1 y el Código 2 en Kotlin?
- ¿Pruebas de unidades de escritura en Kotlin, compartiendo variables?
Dagger no conoce ningún UsersInteractor
ya que solo proporciona IUsersInteractor
.
Cambie su método de proveedor de presentador para usar IUsersInteractor
y debería funcionar
fun provideUsersPresenter(usersInteractor: IUsersInteractor)