【发布时间】:2017-12-02 21:54:47
【问题描述】:
下面是 Activity,它仍在使用旧的 DI 模型,我正在尝试迁移到 Dagger2(使用 dagger-android)。我想注入 Presenter,如您所见,一个依赖项是“NewProjectDisplayer”,它是活动中的自定义视图。
这是我要提供给演示者的“NewProjectDisplayer”
我有一个模块 (AppModule),它提供全局依赖项,如 ProjectService、LoginService 等。
下面是我遇到问题的 NewProjectModule。与活动相关的依赖项之一是“NewProjectDisplayer”。而且我不知道如何提供它..
@Module
public class NewProjectActivityModule {
@Provides
NewProjectDisplayer provideNewProjectDisplayer(View view) {
// ??? return view.findViewById(R.id.create_project_view);
}
@Provides
NewProjectNavigator provideNewProjectNavigator(BaseActivity baseActivity) {
return new AndroidNewProjectNavigator(baseActivity);
}
@Provides
NewProjectPresenter provideNewProjectPresenter(NewProjectDisplayer displayer, //
ProjectService projectService,
LoginService loginService,
UserService userService,
NewProjectNavigator navigator, //
PermissionHandler permissionHandler,//
CropImageHandler cropImageHandler,//
RxSchedulers schedulers) {
return new NewProjectPresenter(displayer, projectService, loginService,
userService, navigator, permissionHandler, cropImageHandler, schedulers);
}
}
如何提供此“NewProjectDisplayer”以便可以创建和注入 Presenter?我正在使用 dagger-android。
【问题讨论】:
标签: android dependency-injection dagger-2 dagger