Привязать фрагмент / активность к MVP Просмотреть контракт с Dagger Hilt - PullRequest
1 голос
/ 17 июня 2020

Я сейчас пытаюсь перейти с dagger- android на Hilt. Раньше я использовал @Bind для привязки экземпляров фрагментов и действий к соответствующему контракту MVP View. Есть ли способ сделать то же самое с Hilt? Кажется, не удается внедрить фрагменты sepcifi c и действия?

1 Ответ

0 голосов
/ 22 июня 2020

Нам нужен код, чтобы дать правильный ответ, но я думаю, вам нужно что-то вроде

@InstallIn(ActivityComponent::class)
@Module
abstract class MyScreenModule {

    @ActivityScoped
    @Binds
    abstract fun bindMyScreenFragment(impl: ScreenFragment): MyScreenContract.View


    @ActivityScoped
    @Binds
    abstract fun bindMyScreenPresenter(impl: ScreenPresenter): MyScreenContract.Presenter

}

Не забывайте:

  • Добавьте '@Inject' в Конструкторы Fragment и Presenter
  • Добавьте @AndroidEntryPoint в MyScreenActivity и MyScreenFragment

ПРИМЕЧАНИЕ. Подумайте, следует ли привязать Presenter к жизненному циклу фрагмента. В этом случае привязка презентатора должна иметь собственный модуль, помеченный @ InstallIn (FragmentComponent :: class) , а область привязки - @ FragmentScoped

...