簡體   English   中英

RxJava - 兩個可觀察對象

[英]RxJava - two observables

我有兩個 observables - OnPeriodChanged 和 OnFilterChanged,並試圖弄清楚如何在其中一個更改時為視圖適配器調用函數。 我試過 .zip,但由於某種原因它沒有被觸發:

Observable.zip(OnPeriodChanged, OnFilterChanged, (Date, Filter) -> HistoryViewModel.getScans(Date.first, Date.second, Filter)).subscribe(scans -> histAdapter.setScans(scans));

我可以在這里使用什么來調用 getter 函數並將結果從它傳遞給 setter?

只有在您的兩個可觀察對象( OnPeriodChangedOnFilterChanged )發出后, zip才會將項目發送到下游。 我認為您正在嘗試在任何項目更改時調用HistoryViewModel.getScans ,並使用DateFilter最新值。 您可以使用combineLatest而不是zip

嘗試將其更改為

    Observable.combineLatest(OnPeriodChanged, OnFilterChanged, (Date, Filter) -> HistoryViewModel.getScans(Date.first, Date.second, Filter))
            .subscribe(scans -> histAdapter.setScans(scans));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM