私はdaggerを初めて使っています。私のコンストラクタ/メソッドインジェクションは動作していないようです。 注入されたフィールドが依然として要求されていることを意味しません。Android:Dagger 2とコンストラクタインジェクション
これは私のコードです:私は、コンストラクタの上、「@Inject」アノテーションの使用が
@Module
public class AppContextModule {
private final Context appContext;
public AppContextModule(Context appContext) {
this.appContext = appContext;
}
@Singleton
@Provides
public Context getAppContext() {
return appContext;
}
}
@Singleton
@Component(modules = {AppContextModule.class})
public interface MyComponent {
void inject(ActivitiesLifeCycleListener obj);
void inject(WebViewManager obj);
Context context();
}
public final class MyClass {
private final WeakReference<Context> mAppContext;
@Inject
public MyClass(Context context) {
this.mAppContext = context
}
}
public class MyActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyClass my = new MyClass(); // The IDE requests context!
}
}
「MyClassのは、」まだ「コンテキスト」を必要とします。 私は何が欠けていますか?
コンテキストを公開する必要がありますか?
ありがとうございました。
インスタンス「MyClass my = new MyClass();」をこのように作成しようとすると、@injectのポイントは何ですか? –