Получаю UninitializedPropertyAccessException, когда я внедряю меторд в моем докладчике
Мой класс провайдера
@Module
class ActivityModule(private var activity: BaseActivity) {
@Provides
fun provideActivity(): BaseActivity {
return activity
}
@Provides
@Inject
fun providePresenter(): MainContract.Presenter {
return MainPresenter()
}
@Provides
@Singleton
fun provideGson(): Gson {
return GsonBuilder().setLenient().create()
}
@Provides
@Inject
@Singleton
fun provideServiceGenerator(): ServiceGenerator {
return ServiceGenerator()
}
}
Мой класс компонентов
@Component(modules = [ActivityModule::class])
interface ActivityComponent {
fun inject(mainActivity: MainActivity)
}
И в моем классе Activity iВнедряю компоненты, как показано ниже
val activityComponent = DaggerActivityComponent.builder()
.activityModule(ActivityModule(this))
.build()
activityComponent.inject(this)
Все отлично работает при нажатии кнопки. Я звоню по одному API. Как вы можете видеть в моем сообщении, у меня есть MainContract.Presenter , я делаю инъекциюPresenter в моей деятельности, и он успешно введен.
@Inject
lateinit var presenter: MainContract.Presenter
Теперь в My Presenter есть класс ServiceGenerator , который я также предоставил в своем классе провайдера, и я внедряю генератор услуг в моемPresenter, проблема возникает, когда я называю докладчика, что введенный ServiceGenerator внутри докладчика дает UninitializedPropertyAccessException В чем причина и как я могу это решить?Фрагмент класса докладчика, как показано ниже
class MainPresenter : MainContract.Presenter {
@Inject
lateinit var serviceGenerator: ServiceGenerator
Когда я отвечаю на вызов val newsService = serviceGenerator.createService(ApiService::class.java,Constants.BASE_URL)
, получаю сообщение об ошибке, сообщите мне, если я что-то делаю не так