Я делаю приложение, используя шаблон MVP, и мне нужен контекст приложения для доступа к методу getString ().Для этого я использую Dagger2 за исключением того, что не знаю, как его реализовать
Итак, вот что я делал до сих пор:
BaseApplication.kt
class BaseApplication: Application() {
lateinit var component: ApplicationComponent
override fun onCreate() {
super.onCreate()
instance = this
component = buildComponent()
component.inject(this)
}
fun buildComponent(): ApplicationComponent {
return DaggerApplicationComponent.builder()
.applicationModule(ApplicationModule(this))
.build()
}
fun getApplicationComponent(): ApplicationComponent {
return component
}
companion object {
lateinit var instance: BaseApplication private set
}
}
ApplicationComponent.kt
@Component(modules = arrayOf(ApplicationModule::class))
interface ApplicationComponent {
fun inject(application: Application)
}
ApplicationModule.kt
@Module
class ApplicationModule(private val context: Context) {
@Singleton
@Provides
@NonNull
fun provideContext(): Context {
return context
}
}
Я хочу предоставить контекстBaseApplication в адаптер моего утилита-ретранслятора, потому что мне нужен доступ к методу getString.
Что мне нужно сделать сейчас, когда я сделал это, чтобы получить контекст в моем адаптере?