2016-12-09 4 views
0

У меня есть ситуация, я ввел все объекты с помощью Dagger 2, но в одной ситуации я не могу исправить, как вводить объект.Как создать объект, зависящий от контекста активности в кинжале?

Ниже ситуация

mPager.setAdapter(new MyPagerAdapter(this)); 

Теперь в вышеупомянутом заявлении я должен вводить объект MyPagerAdapter с помощью кинжала, но это требует текущего контекста деятельности.

Итак, как перенаправить контекст активности на модуль Dagger?

+0

Модуль параметр конструктора – EpicPandaForce

+0

@EpicPandaForce - Можете ли вы добавить поможет некоторый код, разрешающий вышеуказанную ситуацию. – Chetan

+1

'@Module @ActivityScope public class MyModule {private Activity activity; public MyModule (Activity activity) {this.activity = activity;} ... ' – EpicPandaForce

ответ

0

(поворот @ комментарий EpicPandaForce в в ответ)

Вы можете написать модуль, который принимает активность в своих параметров конструктора, как это:

@Module 
@ActivityScope 
public class MyModule { 
    private final Activity activity; 

    public MyModule(Activity activity) { 
     this.activity = activity; 
    } 

    @Provides 
    @ActivityScope 
    Activity activity() { 
     return activity; 
    } 
} 
Смежные вопросы