在这里我创建了应用程序类依赖项。现在我想访问
@Module
@InstallIn(SingletonComponent::class)
class MyApplicationModule {
@Provides
fun providesMainApplicationInstance(application: MainApplication): MainApplication =
application
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序类是:
@HiltAndroidApp
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
}
fun printData(){
Log.d("Test","Awesome print data")
}
}
Run Code Online (Sandbox Code Playgroud)
我想从活动中调用 printData() 函数。我已经使用字段注入来访问应用程序类,但它给出了错误......
@Inject lateinit var mainApplication: MainApplication
Run Code Online (Sandbox Code Playgroud)
错误
[Dagger/DependencyCycle] Found a dependency cycle:
MainApplication is injected at MyApplicationModule.providesMainApplicationInstance(application)
Run Code Online (Sandbox Code Playgroud)