0
RxJava로 항목 목록을 필터링하는 방법은 무엇입니까?RxJava를 사용하는 항목의 필터 목록
나는 다음과 같은 코드를 가지고 loadData()
는 List<Chatroom>
방출 :
repository.loadData()
.subscribe(chatrooms -> {
view.showData(chatrooms);
view.showEmptyState(chatrooms.size() == 0);
}, throwable -> Log.i("OnError", "onLoadChatrooms ", throwable)));
나는 loadData()
후 필터를 적용 할. 다음 코드 스 니펫에서 내 솔루션을 볼 수 있지만 더 좋은 방법이 있을까요?
repository.loadData()
.map(chatrooms -> {
List<Chatroom> openChatrooms = new ArrayList<>();
for (Chatroom chatroom: chatrooms){
if (!chatroom.getBlocked().equals(IS_BLOCKED)) {
openChatrooms.add(chatroom);
}
}
return openChatrooms;
})
.subscribe(chatrooms -> {
view.showData(chatrooms);
view.showEmptyState(chatrooms.size() == 0);
}, throwable -> Log.i("OnError", "onLoadChatrooms ", throwable)));
http://reactivex.io/documentation/operators/filter.html – LordRaydenMK
[Rx 및 Retrofit을 사용한 응답 필터링] (https://stackoverflow.com/questions/40096608/filter-a-response- using-rx-and-retrofit) – theFunkyEngineer