如何使用匕首2创建两个不同注入的片段实例

时间:2016-08-12 13:56:41

标签: dagger-2 mosby

我有可观察注射片段和片段具有相同接口的两个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的数据。

0 个答案:

没有答案
相关问题