Как создать два экземпляра фрагмента с разными инъекциями с помощью кинжала 2

У меня есть фрагмент с наблюдаемой инъекцией и двумя наблюдаемыми (наблюдаемая сеть и наблюдаемая дБ) с тем же интерфейсом. Как я могу создать два экземпляра фрагмента с разными наблюдаемыми?

Обновление с кодом: у меня есть два подкомпонента с тем же интерфейсом

@Subcomponent(modules = {DBModule.class})
public interface DBComponent {
  void inject(NewsListFragment fragment);
  void inject(NewsListAdapter adapter);
  void inject(NewsDetailsPagerAdapter adapter);
  void inject(HTMLActivity activity);

  NewsListPresenter newsListpresenter();
}
@Module
public class DBModule {
  @Provides
  @Singleton
  public RssObservableInterface providesRetrofitRssObservable() {
    return new DBRssObservable();
  }
}

@Subcomponent(modules = {ApiModule.class})
public interface ApiComponent {
  void inject(NewsListFragment fragment);
  void inject(NewsListAdapter adapter);
  void inject(NewsDetailsPagerAdapter adapter);
  void inject(HTMLActivity activity);

 NewsListPresenter newsListpresenter();
}
@Module
public class ApiModule {
  @Provides
  @Singleton
  public RssObservableInterface providesRetrofitRssObservable() {
    return new RetrofitRssObservable();
  }
}

Первый выбор данных из БД, второй из API. И у меня есть фрагмент с переработчиком, чтобы показать список.

public class NewsListFragment
  ...
  component = ((MyApplication) getActivity().getApplication()).plusApiComponent();
  component.inject(this);

Я должен сохранить ссылку на свой субкомпонентный объект для другой работы с mosby.

Как я могу создать два экземпляра моего NewsListFragment, чтобы показать данные из БД и API.

0 ответов

Другие вопросы по тегам