如何在匕首中创建 activity 上下文相关对象?
How to create activity context dependent object in dagger?
我有一种情况,我已经使用 Dagger 2 注入了所有对象,但在一种情况下我无法纠正如何注入对象。
情况如下
mPager.setAdapter(new MyPagerAdapter(this));
现在在上面的语句中,我必须使用 Dagger 注入 MyPagerAdapter 对象,但它需要当前 activity 上下文。
那么如何将activity上下文转发给Dagger模块呢?
(将@EpicPandaForce 的评论转为答案)
您可以编写一个在其构造函数参数中采用 Activity 的模块,如下所示:
@Module
@ActivityScope
public class MyModule {
private final Activity activity;
public MyModule(Activity activity) {
this.activity = activity;
}
@Provides
@ActivityScope
Activity activity() {
return activity;
}
}
我有一种情况,我已经使用 Dagger 2 注入了所有对象,但在一种情况下我无法纠正如何注入对象。
情况如下
mPager.setAdapter(new MyPagerAdapter(this));
现在在上面的语句中,我必须使用 Dagger 注入 MyPagerAdapter 对象,但它需要当前 activity 上下文。
那么如何将activity上下文转发给Dagger模块呢?
(将@EpicPandaForce 的评论转为答案)
您可以编写一个在其构造函数参数中采用 Activity 的模块,如下所示:
@Module
@ActivityScope
public class MyModule {
private final Activity activity;
public MyModule(Activity activity) {
this.activity = activity;
}
@Provides
@ActivityScope
Activity activity() {
return activity;
}
}