我想使用此Observable在FeedDetails上使用特定字符串过滤响应列表

Observable<List<FeedsDto>> listObservable = mApiService.getFeedDetails(feedsDto);
subscribe(listObservable, feedsDtoList -> view.getAllFees(feedsDtoList), throwable -> Log.e(tag, "getFeedDetails", throwable));



  FeedsDto如下


    @SerializedName("EntryId")
    private int mEntryId;
    @SerializedName("EntryTypeId")
    private int mEntryTypeId;
    @SerializedName("FeedDetails")
    private String mFeedDetails;
    @SerializedName("FullName")
    private String mFullName;
    @SerializedName("Id")
    private int mId;

最佳答案

listObservable
    .flatMapIterable(it -> it)
    .filter(feedDto -> feedDto.feedDetails().equals("string_to_filter_by"))
    .subscribe(...);


flatMapIterable->从FeedDto对象列表转换为单个FeedDto对象
filter->通过某些String / feedDetails组合过滤它们

这确实意味着您在最后订阅时将不再具有List<FeedDto>,而只是一个FeedDto对象流。

10-08 12:36