如何在java中使用dagger2注入MainActivity上下文



我正试图将MainActivity的上下文注入到我拥有的类中。我看了这个,但它对我不起作用,我得到了以下错误:

/home/muhammadmehdi/ALL_PROJECTS/memex/memex-app/app/src/main/java/com/memex/MainActivity.java:30: error: cannot find symbol
import com.memex.components.DaggerMainActivityComponent;
^
symbol:   class DaggerMainActivityComponent
location: package com.memex.component

这是我在MainActivity.java文件的onCreate方法中写的代码:

MainActivityComponent mainActivityComponent = DaggerMainActivityComponent.builder()
.mainActivityModule(new MainActivityModule(MainActivity.this))
.build();

终于明白了:

// modules.java
@Module
public class ContextModules {
private final Context context;
public ContextModules(Context context) {
this.context = context;
}
@Provides
ContextProviderClass contextProvider() {
return new ContextProviderClass(context);
}
}
//components.java interface
@Component(modules = ContextModules.class)
public interface Components {
// put getter for class that needs context
}
// MainActivity.java where you want the object of class
Components components = DaggerComponents.builder()
.modules(new ModContextModulesules(this))
.build();

最新更新