Dagger-Hilt: почему мы должны аннотировать действия, в которые нет инъекции

Почему мы должны аннотировать действия, которые содержат фрагменты?

У Activity нет @Inject, но для фрагментов нужны некоторые зависимости. Я аннотирую фрагменты как @AndroidEntryPoint, но вылетаю, пока не установлю это в родительской активности.


person Alireza Nazari    schedule 05.09.2020    source источник


Ответы (1)


Вы не можете запустить фрагмент без действия. Вы должны аннотировать свою Activity с помощью @AndroidEntryPoint, потому что теперь ваш фрагмент является HiltComponent. Если вы не аннотируете свое Activity с помощью @AndroidEntryPoint, Hilt не создаст компонент для этого действия и, следовательно, не сможет запустить фрагмент, потому что он еще не создал ActivtyComponent.

К приложениям Hilt необходимо прикрепить действия с рукоятью. Фрагменты рукояти должны быть прикреплены к действиям рукояти.

См. Здесь: https://dagger.dev/hilt/migration-guide (2. Перенести Действия и фрагменты)

person Andrew    schedule 05.09.2020