【发布时间】:2026-01-22 08:15:01
【问题描述】:
我有一个类 NavigationController,它需要一个活动实例,我的所有片段都通过这些活动托管。
class NavigationController constructor(private val activity: MainActivity) {
fun navigateToAuth() {
activity.supportFragmentManager
.beginTransaction()
.replace(R.id.main_container,WelcomeFrag())
.commitAllowingStateLoss()
}
}
这是我的 NavigationModule
@InstallIn(ApplicationComponent::class)
@Module
object NavigationModule {
@Provides
fun providesNavigationModule(activity: MainActivity): NavigationController {
return NavigationController(activity)
}
}
但我收到错误,因为无法提供 MainActivity 需要 @Inject 或 @Provides 我知道 dagger 不知道如何创建 MainActivity 因为它没有构造函数我无法注入它
那么我怎样才能获得活动并将其传递给我的 NavigationController 呢?
【问题讨论】:
标签: android dependencies code-injection dagger dagger-hilt