小编Kri*_*one的帖子

Android Kotlin:Hilt如何获取Application类的对象?

在这里我创建了应用程序类依赖项。现在我想访问

@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)

android kotlin dagger-hilt

4
推荐指数
1
解决办法
2437
查看次数

标签 统计

android ×1

dagger-hilt ×1

kotlin ×1