Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Singleton
- @Component(modules = {AndroidSupportInjectionModule.class,
- ApplicationModule.class,
- ActivityBindingModule.class,
- DataManagerModule.class})
- public interface ApplicationComponent extends AndroidInjector<MyApplication> {
- DataManagerContract getDataManager();
- void inject(MyApplication application);
- @Component.Builder
- interface Builder {
- @BindsInstance
- ApplicationComponent.Builder application(Application application);
- ApplicationComponent build();
- }
- }
- @Module
- public abstract class ActivityBindingModule {
- @ActivityScope
- @ContributesAndroidInjector(modules = MainActivityModule.class)
- abstract MainActivity bindMainActivity();
- @ActivityScope
- @ContributesAndroidInjector(modules = SplashActivityModule.class)
- abstract SplashActivity bindSplashActivity();
- @ActivityScope
- @ContributesAndroidInjector(modules = LoginActivityModule.class)
- abstract LoginActivity bindLoginActivity();
- }
- @Module
- public abstract class MainActivityModule {
- @ActivityScope
- @Binds
- abstract MainActivityContract.Presenter provideMainActivityPresenter(MainActivityPresenter presenter);
- @FragmentScope
- @ContributesAndroidInjector
- abstract HomeFragment provideHomeFragment();
- @FragmentScope
- @Binds
- abstract HomeFragmentContract.Presenter provideHomeFragmentPresenter(HomeFragmentPresenter presenter);
- // Inject other fragments and presenters
- }
- public class HomeFragment extends Fragment {
- ....
- @Override
- public void onAttach(Context context) {
- AndroidSupportInjection.inject(this);
- super.onAttach(context);
- }
- ....
- }
- java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.main.MainActivity}: java.lang.IllegalArgumentException: No injector factory bound for Class<com.myapp.ui.main.Home.HomeFragment>
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
- at android.app.ActivityThread.-wrap12(ActivityThread.java)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:154)
- at android.app.ActivityThread.main(ActivityThread.java:6119)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
- Caused by: java.lang.IllegalArgumentException: No injector factory bound for Class<com.myapp.ui.main.Home.HomeFragment>
- at dagger.android.DispatchingAndroidInjector.inject(DispatchingAndroidInjector.java:104)
- at dagger.android.support.AndroidSupportInjection.inject(AndroidSupportInjection.java:74)
- at com.myapp.ui.main.Home.HomeFragment.onAttach(HomeFragment.java:65)
- at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1363)
- at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1109)
- at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:996)
- at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:99)
- at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2364)
- at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
- at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
- at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221)
- at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171)
- at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:192)
- at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:560)
- at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
- at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
- at android.app.Activity.performStart(Activity.java:6696)
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2628)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
- at android.app.ActivityThread.-wrap12(ActivityThread.java)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:154)
- at android.app.ActivityThread.main(ActivityThread.java:6119)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Add Comment
Please, Sign In to add comment