0
我想注入一個Activity的屬性,但它只是被設置爲null,而我找不到原因。要注入的依賴項爲空
@Inject
AuthenticationViewDispatcher mAuthenticationViewDispatcher;
--------
public class AuthenticationViewDispatcher {
@Inject
public AuthenticationViewDispatcher() {
}
}
----
@Singleton
@Component(modules = ApplicationModule.class)
public interface ApplicationComponent extends AbstractComponent {
Context context();
}
----
@Module
public class ApplicationModule {
private final Application mApplication;
public ApplicationModule(final @NonNull Application application) {
this.mApplication = application;
}
@Provides
@Singleton
Context provideApplicationContext() {
return this.mApplication;
}
----
@Singleton
@Component(modules = DataModule.class)
public interface DataComponent {
}
----
@PerActivity
@Component(dependencies = {ApplicationComponent.class}, modules = {LoginModule.class})
public interface LoginComponent extends ApplicationComponent {
void inject(final InjectedActivity baseActivity);
}
----
@Module
public class LoginModule {
@Provides
@Singleton
AuthenticationFlowDispatcher provideAuthenticationViewDispatcher(final @NonNull AuthenticationFlowDispatcher authenticationViewDispatcher) {
return authenticationViewDispatcher;
}
}
這不是我第一次使用這種設置,但我從來沒有遇到過這個問題。我忘了什麼?
'void inject(That that)'只適用於具體的類,而在基類中,只注入基類中可見的內容。 – EpicPandaForce
我總是忘記Dagger並不以我喜歡的方式繼承。再次感謝。隨意將您的評論移至答案,以便我可以接受它:) –