私のAndroidプロジェクトにいくつかの依存性注入を追加しようとしているので、私が見つけた例に従ってモジュールを作成しました
@Module(entryPoints = {MyActivity.class})
public class MyModule {
private final Context context;
public MyModule (Context context) {
this.context = context.getApplicationContext();
}
@Provides
@Singleton
Context applicationContext() {
return context;
}
@Provides
@Singleton
EventBus provideEventBus() {
return EventBusFactory.create();
}
}
私は私のアプリケーションを持っています:
public class MyApplication extends Application{
private ObjectGraph objectGraph;
@Override
public void onCreate() {
super.onCreate();
objectGraph = ObjectGraph.get(new MyModule(this));
}
public ObjectGraph getObjectGraph() {
return objectGraph;
}
}
と活動
public class MyActivity extends Activity {
@App
MyApplication application;
@Inject
EventBus eventBus;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ObjectGraph objectGraph = application.getObjectGraph();
objectGraph.inject(this);
....
何が間違っているのか、何を見逃したのかわかりませんが、日食でエラーが表示されます:
ObjectGraph 型のメソッド get(Class) は、引数 (MyModuleModule) には適用されません。
この行でobjectGraph = ObjectGraph.get(new MyModule(this));
ビルドしようとすると、次のようになります。
my.android.app.MyModule の my.android.app.MyActivity に必要な my.android.lib.EventBus のバインドなし
誰かが私が間違っていることと私が忘れたことを教えてくれますか?