を有している場合、私は、このコンポーネントを有する:Dagger2:エラー2つの成分は、同じ噴射メソッドシグネチャ
@Singleton
@Component(modules = OauthModule.class)
public interface OauthComponent {
void inject(LoginActivity a);
}
とモジュール:
@Module
public class OauthModule {
@Provides
@Singleton
Oauth2Service provideOauth2Service() {
return new Oauth2StaticService();
}
}
この別の成分:
@Singleton
@Component(modules = LoggedUserModule.class)
public interface LoggedUserComponent {
void inject(LoginActivity a);
}
とこのエラーが発生します:
Error:(15, 10) error: Oauth2Service cannot be provided without an @Provides- or @Produces-annotated method.
私は別のActivity
するLoggedUserComponent
の注入メソッドのパラメータを変更すると、このようなAnotherActivity
を言う:
@Singleton
@Component(modules = LoggedUserModule.class)
public interface LoggedUserComponent {
void inject(AnotherActivity a);
}
コンパイルはokです。どうして?同じインジェクション署名を持つ2つのコンポーネントを持つことはできませんか?
Dagger
がどのように機能するかを理解しようとしていますので、何か助けになるでしょう。ありがとう。
OAuthModuleがシングルトンの場合はどうなりますか?私は注射することはできませんか? – sector11
私はあなたが求めていることに従うかどうか分からない – ootinii