[英]how do I inject MainActivity context using dagger2 in java?
我正在嘗試將 MainActivity 的上下文注入到我擁有的 class 中。 我看了這個,但它對我不起作用,我收到以下錯誤:
/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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.