比如说
public interface TasksComponent {
void inject(TasksActivity activity);
}
因为 dagger2 的原因,这里的 TasksActivity 是不能用一个基类来替代的
那么我每个 Activity 都需要写一个 Component
然后在 activity 中inject(this)
有什么办法来简化这个过程呢
1
Cabana 2017-07-31 19:38:48 +08:00 via Android
在基类中先构造好 component,再在子类里调 inject 注入
|
2
vjnjc 2017-08-01 14:40:21 +08:00 1
能用基类代替,但是被注入的成员必须声明在基类。
|
3
zengmingyang96 OP @vjnjc 愿闻其详
|
4
vjnjc 2017-08-01 18:56:12 +08:00
我的情况是基类里面有 @Inject protected EventBus eventBus; 和 MyApplication.component().inject(this);
然后就没了。。。 |
5
sherardxu 2017-08-17 14:21:33 +08:00
dagger2 在 v2.10 版本上线了 dagger.android , 可以减少此类模板代码。
-------- https://google.github.io/dagger//android.html |
6
zengmingyang96 OP @sherardxu 感觉那样是更加麻烦了
|