Dagger类不能用键绑定

时间:2015-03-29 18:56:23

标签: android mvp dagger

我正在尝试将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);
    }
}

0 个答案:

没有答案