dagger-android-injection icon indicating copy to clipboard operation
dagger-android-injection copied to clipboard

How does MainActivityComponent get a MainActivity context?

Open nikiJava opened this issue 7 years ago • 2 comments

How does MainActivityComponent get a MainActivity context? We can use @BindsInstance method in inner Builder interface in MainActivityComponent (Subcomponent) and specify MainActivity (or Context) as parameter or just send MainActivity's Context in constructor of MainActvityModule. But I can not find where in your sample app you send the MainActivity's context. Could you explain me, please?

nikiJava avatar Jul 08 '17 21:07 nikiJava

You don't need to do it. Dagger is already doing that for your. You can directly use your MainActivity in you module.

public class MainActivityModule{
       @Provides
       public MainView providesMainView(MainActivity activity) {...}
}

iammert avatar Jul 09 '17 10:07 iammert

I am getting error bellow. what is the problem. I did what you did in post. Error:(29, 10) error: ....ui.main.MainActivityComponent.Builder cannot be provided without an @Provides-annotated method......ui.main.MainActivityComponent.Builder is injected at .......ActivityBuilder.bindMainActivity(builder)java.util.Map<java.lang.Class<? extends android.app.Activity>,javax.inject.Provider<dagger.android.AndroidInjector.Factory<? extends android.app.Activity>>> is injected atdagger.android.DispatchingAndroidInjector.(injectorFactories)dagger.android.DispatchingAndroidInjector<android.app.Activity> is injected at ....MYApp.activityDispatchingAndroidInjector ....MYApp is injected at .....di.AppComponent.inject(app)

ghost avatar Jul 30 '17 14:07 ghost