如何在匕首中创建 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;
    }
}