Mam problem ze zrozumieniem, dlaczego poniższy kod nie działa.Problemy dotyczące pojedynczych jednostek podczas korzystania z zależności składników
Mam następujące struktury projektu:
@Component(modules = CCModule.class)
public interface CComponent {
XXX getXXX();
}
gdzie
@Module
public class CCModule {
@Provides @Singleton
public XXX provide XXX(){
return new XXX();
}
}
i
@Component(dependencies = CComponent.class, modules = AAModule.class)
public interface AComponent {
YYY getYYY();
}
gdzie
class YYY {
@Inject
public YYY(XXX xxx) {
...
}
}
zainicjować wszystko jak:
CComponent c_component = Dagger_CComponent.builder().cCModule(new CCModule()).build();
AComponent a_component = Dagger_AComponent.builder()
.cComponent(c_component)
.aAModule(new AAModule())
.build();
Po kompilacja odbywa się następujący błąd:
Error:(11, 1) error: com.test.CComponent (unscoped) may not reference scoped bindings: @Provides @Singleton com.test.XXX com.test.CCModule.provideXXX()
Co mam dążenie do jest mieć jeden składnik dziedziczyć powiązania z innymi składnikami, aby mieć te same odniesienia do obiektów (pojedynczych).
@ AlexanderVasiljev Testowany na najnowszej migawce. Działa dobrze =). Zaktualizowałem moją odpowiedź nieco za pomocą niestandardowej adnotacji "AScope". Coś jest nie tak z twoim kodem. Pokaż to. Przy okazji, porozmawiajmy po angielsku, to nie jest rosyjski zasób. –
czyste rozwiązanie Sir –