小编hyr*_*k16的帖子

如何在rxJava中返回值

我是rxJava的新手,它让我头晕目眩.基本上我正在通过改造从youtube api中提取数据,这将改回Observable和youtubeDataMapper,我将它转换为包含String videoID的Youtube Pojo对象.所以我的问题是,如何让这个方法返回该字符串而不是Completable?

这是我的方法:

@Override
  public Completable downloadVideoUrl(String query) {

    addSubscription(youtubeApi.getYoutubeId(query, Constants.youtubeApi)
                              .map(youtubeDataMapper::map)
                              .subscribeOn(subscribeScheduler)
                              .observeOn(observeScheduler)
                              .subscribe());
    return Completable.complete();
}
Run Code Online (Sandbox Code Playgroud)

android rx-java

7
推荐指数
1
解决办法
8167
查看次数

垂直RecyclerView内部的水平RecyclerView

我正在尝试做这样的事情。 在此处输入图片说明

因此,我的想法是我拥有带有通道的垂直recyclerview,而在通道的第二个位置上,我应该拥有带有重播的水平recyclerview。

我不确定该怎么做,我尝试弄乱了Viewholder,并猜想我应该只在自己的channel_details布局中制作一个recyclerview,并在item_channel_details中将另一个作成一个item,但是我无法使其工作。

这是我的代码。

ChannelDetailsActivity:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_channel_details);

    ImageView coverPhoto = (ImageView) findViewById(R.id.image_cover_details);
    final HexagonImageView avatarPhoto = (HexagonImageView) findViewById(R.id.img_hex);
    TextView toolbarText = (TextView) findViewById(R.id.txt_toolbar_title);

    final Bundle b = getIntent().getExtras();
    final MNetworkChannel parcelChannel =
            b.getParcelable(Const.IntentData.H_CHANNEL_LIST);

    final MVideosForChannel parcelVideosForChannel = b.getParcelable(Const.IntentData.D_VIDEOS_LIST);




    setChannelsView();
    setVideosView();


}

private void setChannelsView() {

    rvRelive = (RecyclerView) findViewById(R.id.rv_relive_details);
    rvRelive.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
    adapterRelives = new ReliveAdapter();
    rvRelive.setAdapter(adapterRelives);

    if (getIntent() != null && getIntent().getParcelableExtra(Const.IntentData.D_RELIVE_LIST) != null) {
        adapterRelives.setData(((ReliveMainPojo) getIntent().getParcelableExtra(Const.IntentData.D_RELIVE_LIST)).relives);
    }
}

private void setVideosView() …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-recyclerview

3
推荐指数
1
解决办法
5286
查看次数