Как создать два экземпляра фрагмента с разными инъекциями с помощью кинжала 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.