这里是包含另一个模块FeatureXModule
的模块interface FragmentModule {
@FragmentScope
@ContributesAndroidInjector(
modules = {
FeatureXModule.class
})
@Binds
@Group
@IntoSet
IntentGroup bindDefaultGroup(DefaulGroup group);
@Binds
@Group
@IntoSet
IntentGroup bindGroup(Group group);
}
Group类如下所示
class Group{
@Inject
public Group(@IsEnabled boolean isEnabled) {}
}
这是第一个模块所依赖的下一个模块
interface FeatureXModule {
@Provides
@IsEnabled
static boolean provideXEanbled() {
return true;// TODO: change it
}
}
构建此对象时,我收到.IsEnabled java.lang.Boolean如果没有@Provides注释的方法,则无法提供。
有趣的是,当我将bind
方法移至应用程序构建的第二个模块时
这是怎么了
答案 0 :(得分:0)
模块是否组成?换句话说,一个模块是否知道另一个模块的绑定?
执行此操作的方法是使用@Includes
:
@Module(includes = {FeatureModule.class})
interface FeatureXModule {
有关更多详细信息,请参见this question。
或者,一个组件可以具有来自多个模块的绑定:
@Component(modules={Module1.class, Module2.class})