Dagger 2 如何使用 Sub 组件向多个组件注入一个 class?

Dagger 2 How to inject one class to multiple components using Sub components?

能否提供使用子组件实现此方案的示例代码。 在 MyActivity 中,我需要满足多个组件的依赖关系。 正如您在下面的代码中看到的,MyActivity 需要从 compA via module classAcompB via module classB 注入。

@Component(modules = classA.class)
interface compA
{
void inject(MyActivity target);
}

@Component(modules = classB.class)
interface compB
{
void inject(MyActivity target);
}

很长一段时间以来,我一直在尝试许多不同的事情。我还阅读了有关子组件的官方文档,但无法理解如何为我的场景做。请帮助

有很多方法可以做到这一点。包含模块就是其中之一。我们必须模块 AndroidModules 和 NetworkModules。

@Module(includes = AndroidModules.class)
public class NetworkModules {
//Here two module are marge ....
}

现在在我的组件中

@Component(modules = NetworkModules.class)
public interface NetworkComponent {
    void inject(MyActivity activity);
}

你可以这样试试,

@Component(
    modules = {
        ApplicationModule.class,
        MainModule.class
    }
)
public interface compA
{
void inject(MyActivity target);
}