我有一個列表要刷新每分鐘。 例如,用戶列表在這裏:https://github.com/android10/Android-CleanArchitecture/blob/master/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserList.javaRxJava輪詢+手動刷新
我添加使用repeatWhen定期刷新:
public Observable<List<User>> buildUseCaseObservable(Void unused) {
return this.userRepository
.users()
.repeatWhen(new Function<Observable<Object>, ObservableSource<?>>() {
@Override
public ObservableSource<?> apply(Observable<Object> objectObservable) throws Exception {
return objectObservable.delay(1, TimeUnit.MINUTES);
}
});
}
它工作正常,這樣一來,調用onNext每一分鐘。 但是,如果我想立即刷新此列表(因爲用戶的行爲或通知),我不知道如何執行該操作。
我應該取消/處置observable並重新啓動一個新的? 感謝
使用interval和mergeWith似乎很有趣,謝謝。我如何手動觸發「刷新」(而不是使用RxView)? –
您可以使用主題,只需從程序中的任何位置調用它的'onNext'即可。 –