Closed lijianyu closed 6 years ago
@lijianyu inject(App app),这个 App 就是目标类,不能是父类。 @Singleton 保证Component和Module是匹配的,若Component和Module的Scope是不一样的,则在编译时报错。而且 @Singleton 是顶级的 Scope
@lijianyu inject(App app),这个 App 就是目标类,不能是父类。 @singleton 保证Component和Module是匹配的,若Component和Module的Scope是不一样的,则在编译时报错。而且 @singleton 是顶级的 Scope
app 就是目标类。 appComponent 对应的 module 都是类似这个,没有@singleton,@singleton参照你的都放在beeComponent 中和对应的 module 中
@lijianyu 你的 AppComponent 是 @AppScope 注解,而 ActivityModule 中的方法是 @ActivityScope 注解。
https://github.com/xiaobailong24/MVVMArms/blob/master/weather/src/main/java/me/xiaobailong24/mvvmarms/weather/di/component/AppComponent.java https://github.com/xiaobailong24/MVVMArms/blob/master/weather/src/main/java/me/xiaobailong24/mvvmarms/weather/di/module/AppModule.java
@lijianyu 你的 AppComponent 是 @AppScope 注解,而 ActivityModule 中的方法是 @ActivityScope 注解。
如果 module 不加 scope 我试过了貌似也不行,你的WeatherNowFragmentModule这个在哪里注入的,我看 module 是 fragmentScope的注解。
在编译过程中出现问题 如果吧把inject(App app) -> inject(Application app),编译通过,但是activityInjector返回为 null。只有把@AppScope改成@Singleton,然后同时用inject(App app) 才能运行成功,请问这是为什么呢?