【问题标题】:How to use Recycleview with Rxjava and Retrofit如何在 Rxjava 和 Retrofit 中使用 Recycleview
【发布时间】:2017-05-15 22:42:47
【问题描述】:

我尝试用谷歌搜索找出某种方法来获取从网络调用到 Recyclerview 的值。但我无法弄清楚如何使用 Rxjava 将值设置为适配器

private void initViews()
{
    recyclerview = (RecyclerView) findViewById(R.id.recycler_view);
    recyclerview.setHasFixedSize(true);
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
    recyclerview.setLayoutManager(layoutManager);
    loadRxjava();

}

private void loadRxjava()
{
    Subscription sub = retrofitManager.getModelNew().postRawJson()
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe(new Subscriber<ModelNew>() {
                @Override
                public void onCompleted() {

                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onNext(ModelNew modelNew)
                {

                }
            });
}

【问题讨论】:

  • 可以添加适配器的代码吗?

标签: java android retrofit2 rx-java2


【解决方案1】:

这可能是首发

   Observable.just(findViewById(R.id.recycler_view))
            .map( o -> (RecyclerView) o)
            .map(recyclerview -> 
                    {recyclerview.setHasFixedSize(true);
                     return recyclerview;
                    })
            .flatMap(recyclerview -> Observable.just(new LinearLayoutManager(getApplicationContext()))
                    .map(layout -> {
                        recyclerview.setLayoutManager(layout)
                                return recyclerview;

                    }))
            .subscribe(recyclerview -> { retrofitManager.getModelNew().postRawJson();
      //TODO:Here you can mix recyclerview with modelView})

我不知道你的代码是做什么的,所以不确定这是否是你要找的。​​p>

如果您想查看 RXJava 的实际示例,请查看此处https://github.com/politrons/reactive

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-21
    • 2023-03-15
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多