Я пытаюсь реализовать Кинжал в своем приложении, и у меня есть экземпляр, где мне нужно ввести поле в класс в иерархии класса Activity, но детям этого класса не нужны какие-либо введенные члены. Иерархия выглядит так:Может ли кинжал ввести абстрактный класс активности без инъекции ребенка Класс активности?
BaseActivity -> NavigationActivity -> HomePageActivity.
Я пытаюсь придать поле в NavigationActivity, но я получаю следующее исключение из Dagger:
java.lang.IllegalArgumentException: No inject registered for members/com.quidsi.diapers.activity.HomePageActivity. You must explicitly add it to the 'injects' option in one of your modules.
Мой модуль выглядит такой
@Module(
injects = NavigationActivity.class
)
public class GestureModule {
@Provides
GestureInterface provideGestureInterface() {
return new MockDrawerGesture();
}
}
Возможно ли это с кинжалом или мне нужно для инъекции каждого ребенка NavigationActivity?
Dagger2 также требует, чтобы подклассы были введены, но он генерирует ошибку компиляции, а не ошибку времени выполнения, если в методах интерфейса компонента отсутствует заданная 'void injection (SomethingActivity somethingActivity)'. – EpicPandaForce