我有可观察注射片段和片段具有相同接口的两个observable(网络可观察和db可观察)。 我如何用不同的observable创建两个片段实例?
使用代码更新 我有两个具有相同接口的子组件
@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();
}
}
首先从db获取数据,然后从api获取数据。我有片段与recyclerview显示列表。
public class NewsListFragment
...
component = ((MyApplication) getActivity().getApplication()).plusApiComponent();
component.inject(this);
我必须保存链接到我的子组件对象,以便与mosby进行其他工作。
如何创建我的NewsListFragment的两个实例以显示来自db和api的数据。