your class has @Inject-annotated fields but no @Inject-annotated constructor, Dagger will inject those fields if requested, but will not create new instances.
Что значит "будет внедрять те поля, но не будет создавать новые экземпляры"? Разве, чтобы инициализировать их, не надо создать новые экземпляры?
дай ссылку на этот док
https://dagger.dev/dev-guide/
да, хороший вопрос, самому интересно
суть в том, что если просто поставить Inject в классе - то создадутся фабрики, но инжекнутся они только когда будет вызван модуль, а если инжектить через конструктор - то вызов модуля будет в самом даггере
это я понимаю. Просто там было написано странно. Спасибо за отклик
but will not create new instances относится не к моменту инжекции, а к моменту объявления
Точно. Спасибо большое за разъяснения
а когда происходит момент объявления?
имею ввиду, когда просто создается объект, например new Fragment()
эо называется инициализация
да, имел это ввиду
Обсуждают сегодня