(без области) не может зависеть от компонентов в dagger2 - PullRequest
0 голосов
/ 16 декабря 2018

Это мой компонент Fragment dagger2:

@PreMainFrag
@Component(modules = {MainFragModule.class},
        dependencies = AppComponent.class)
public interface MainFragComponent {
        void inject(MainFragment mainFragment);
}

, а это MainFragModule:

@Module
public class MainFragModule {

    MainFragment mainFragment;

    public MainFragModule(MainFragment mainFragment) {
        this.mainFragment = mainFragment;
    }

    @Provides
    @PreMainFrag
    MainFragment getMainFragment(){
        return mainFragment;
    }

}

Но когда я хочу сделать кинжал, я получил эту ошибку:

symbol:   class DaggerAppComponent
  location: package com.t.stm.application.di
E:\Projects\Android\Stm\Stm\stm\src\main\java\com\t\stm\mainFragment\main\di\MainFragComponent.java:9: error: com.t.stm.mainFragment.main.di.MainFragComponent (unscoped) cannot depend on scoped components:
@Component(modules = {MainFragModule.class},
^
      @com.t.stm.application.di.AppScope com.t.stm.application.di.AppComponent
2 errors
:stm:compileDebugJavaWithJavac FAILED

Что происходит?Я добавил @PreMainFrag на свой компонент !!

Это мой класс области видимости:

@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface PreMainFrag {
}

************************** РЕДАКТИРОВАТЬ *******************************

Это AppComponent:

@AppScope
@Component(modules = {NetworkModule.class,
        AppRetroServiceModule.class,
        MainRepositoryModule.class})
public interface AppComponent {

    Gson getGson();

    APIService getService();

    @AppQualifierHttpClientThread
    APIService getServiceWithThread();

    MainRepository getMainRepository();

}

и область его приложения:

@Scope
@Retention(RetentionPolicy.CLASS)
public @interface AppScope {
}

Я также изменил @Retention(RetentionPolicy.CLASS) на @Retention(RetentionPolicy.RUNTIME), но ничего не изменилось.

Когда я удалил dependencies = AppComponent.class изMainFragComponent все в порядке, и я могу сделать кинжал, но в чем проблема зависимости?

...