[英]How to return boolean value when subscribe with rxjava
我有一個arrayList。 如果我的數組isNumber中至少有一項,則需要返回true。 這是我的代碼:
private boolean hasNumber(ArrayList<Item> items) {
return Observable.fromIterable(items)
.filter(Item::isNumber)
.toList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.map(items-> items.size() > 0)
.subscribe(result -> "");
}
但是我不能從此方法返回true / false。 我不明白如何使用rxJava返回值。 請幫我。
一種駭人聽聞的方法是:
private boolean hasNumber(List<Item> items) {
Boolean[] res = new Boolean[1];
res[0] = false;
Observable.from(items).filter(this::isNumber).toList().subscribe(list -> {
if(list.size() > 0) {
res[0] = true;
}
});
return res[0];
}
嘗試阻止
private boolean hasNumber(ArrayList<Item> items) {
return Observable.fromIterable(items)
.filter(Item::isNumber)
.toList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.map(items-> items.size() > 0)
.blockingFirst();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.