我正在尝试将SettingsPresenter提供给SettingsActivity(View)并获得" dagger类不能与键绑定"错误,请帮我解决,找出错误的原因。
错误:
Error:(32, 8) error: presenter.ISettingsPresenter could not be bound with key presenter.ISettingsPresenter required by ui.activity.settings.SettingsActivity for dagger.AppModule
ModelsModule提供securityModel和userModel,并且它正常工作;
我的代码是:
SettingsActivity:
SettingsActivity implements ISettingsView {
@Inject ISettingsPresenter presenter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
createScopedGraph(new SettingsModule(this)).inject(this);
presenter.onCreate();
//...
}
public ObjectGraph createScopedGraph(Object... modules) {
return objectGraph.plus(modules);
}
}
的AppModule:
@Module(
injects = {
App.class,
},
includes = {
AnalyticsModule.class,
ModelsModule.class
})
public class AppModule {
private App app;
public AppModule(App app) {
this.app = app;
}
SettingsModule:
@Module(
injects = SettingsActivity.class,
addsTo = AppModule.class,
complete = false)
public class SettingsModule {
private final ISettingsView view;
public SettingsModule(ISettingsView settingsView) {
this.view = settingsView;
}
@Provides
public ISettingsView provideView() {
return this.view;
}
@Provides
public ISettingsPresenter providePresenter(ISettingsView view, UserModel userModel, SecurityModel securityModel) {
return new SettingsPresenter(view, userModel, securityModel);
}
}