Ich habe folgende Module:Wie vermeidet man eine zirkuläre Abhängigkeit mit Dolch 2?
@Module
class HomeModule(private val context: Context) {
@Provides
fun provideContext() = context
@Provides
fun provideHomeUi(): HomeUi {
return HomeUi()
}
@Provides
@Singleton
fun provideHomePresenter(homeUi: HomeUi): HomePresenter {
return HomePresenter(homeUi)
}
}
Diese injizierten Felder in HomeUi.kt
@Inject lateinit var context: Context
@Inject lateinit var presenter: HomePresenter
und dieses in HomePresenter.kt
@Inject lateinit var context: Context
Hier Komponente meine Deps
@Singleton
@Component(modules = arrayOf(
NetworkModule::class,
HomeModule::class
))
interface Deps {
fun inject(homePresenter: HomePresenter)
fun inject(homeActivity: HomeActivity)
fun inject(homeUi: HomeUi)
}
ich verwende Dagger 2.10 aber ein StackOverflowError
ausgelöst. Ich suche nach einer Möglichkeit, meine zirkuläre Abhängigkeit zu vermeiden.
Hinweis: Dies ist mein HomeUi die unendlich instanziiert wird.
Ich habe Ihren Ansatz gefolgt von injizieren mit() nur für Objekte, die ich nicht schaffen kann, und es sieht in der Tat besser. Danke für Ihre Ratschläge! –