【问题标题】:Using rxjava to get bitmap for every list item使用 rxjava 获取每个列表项的位图
【发布时间】:2017-01-05 22:05:11
【问题描述】:

我正在使用 Retrofit 从 REST 服务获取数据。在接收 json(对象列表)之后,我想为列表中的每个位置获取一个位图。做这个的最好方式是什么?我正在尝试在我的由 Retrofit 创建的 Observable 上使用地图/平面地图,但它不起作用(或者,可能是我做错了)。

改造接口方法:

@POST("links/promoted/appkey/{appkey}/page/{page}/sort/{sort}")
public Observable<List<Link>> promoted(@Path("appkey") String appkey,
                                       @Path("page") int page,
                                       @Path("sort") String sort);

用法:

linksService
        .promoted(Extras.APP_KEY, page, Sort.DAY)
        .subscribeOn(Schedulers.newThread())
        .subscribe(links -> {
            view.appendLinks(links);
        });

当我尝试使用 flatMap() 或 map() 时,它总是返回一个列表,但我需要单独的每个项目。
任何帮助将不胜感激!

【问题讨论】:

    标签: android retrofit rx-java


    【解决方案1】:

    这样做:

    linksService
        .promoted(Extras.APP_KEY, page, Sort.DAY)
        .subscribeOn(Schedulers.newThread())
        .flatMapIterable(list -> list)
        .subscribe(link -> {
            view.appendLinks(link);
        });
    

    【讨论】:

    • 这正是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    相关资源
    最近更新 更多