gpt4 book ai didi

android - RxAndroid 过滤器 Observable>

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:33 25 4
gpt4 key购买 nike

我使用 RxAndroid,我想过滤 Observable<List<Item>> 的结果.

代码如下:

Observable<List<Item>> observable = 
Observable.create((Observable.OnSubscribe<List<Item>>) subscriber -> {
subscriber.onNext(ItemManager.getItems());
subscriber.onCompleted();
});

我想使用 .filter()只获取有效项目。这样做就完美了:

observable.filter(new Func1<Item, Boolean>() {
@Override
public Boolean call(Item item) {
return item.isValid();
}
});

然而,.filter()迫使我实现新的 Func1() :

observable.filter(new Func1<List<Item>, Boolean>() {
@Override
public Boolean call(Item item) {
}
});

有人知道如何解决这个问题吗?

提前谢谢你:)

最佳答案

     Observable.defer(() -> Observable.just(ItemManager.getItems())
.subscribeOn(Schedulers.io())
.flatMapIterable(items -> items)
.filter(item -> item.isValid())
.toList();

关于android - RxAndroid 过滤器 Observable<List<Item>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39566964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com