【发布时间】:2015-01-27 12:13:54
【问题描述】:
我无法理解为什么以下代码不起作用。
我有以下项目结构:
@Component(modules = CCModule.class)
public interface CComponent {
XXX getXXX();
}
在哪里
@Module
public class CCModule {
@Provides @Singleton
public XXX provide XXX(){
return new XXX();
}
}
和
@Component(dependencies = CComponent.class, modules = AAModule.class)
public interface AComponent {
YYY getYYY();
}
在哪里
class YYY {
@Inject
public YYY(XXX xxx) {
...
}
}
我将所有内容初始化为:
CComponent c_component = Dagger_CComponent.builder().cCModule(new CCModule()).build();
AComponent a_component = Dagger_AComponent.builder()
.cComponent(c_component)
.aAModule(new AAModule())
.build();
编译后出现以下错误:
错误:(11, 1) 错误: com.test.CComponent (unscoped) 可能不会 参考范围绑定:@Provides @Singleton com.test.XXX com.test.CCModule.provideXXX()
我的目标是让一个组件从其他组件继承绑定以对对象(单例)具有相同的引用。
【问题讨论】: