【发布时间】:2015-01-29 21:27:25
【问题描述】:
是否可以在 Dagger 中执行以下操作:
public abstract class Presenter<T extends BaseView> {
@Inject T mView;
public void showLoadingIndicator() {
mView.showLoading();
}
}
(示例模块)
public class MyModule {
private MyView mView; //extends BaseView
public MyModule(MyView view) {
mView = view;
}
@Provides
public BaseView provideView() {
return mView;
}
}
然后用上面的模块创建一个对象图并将视图注入到presenter中?
我的尝试没有奏效(通常会出现“未知类 'T'”之类的错误)。我不确定我的配置是否错误,或者这是不受支持的功能。
【问题讨论】:
-
泛型不能注入抽象类 - 见stackoverflow.com/questions/28079276/…