毎分リフレッシュしたいリストがあります。たとえば ここでは、ユーザーリスト: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呼び出し、罰金このように動作します。 しかし、(ユーザーの行動や通知のために)このリストを直ちに更新したい場合は、その実行方法がわかりません。
オブザーバブルをキャンセル/廃棄して新しいものを再起動する必要がありますか?あなたはリフレッシュ時間を調整すると懸念されていない場合、他の観測の一つでは、次のような何かを行うことができ、データを発した後 おかげ
インターバルとマージを使用すると面白いようですが、ありがとうございます。 RxViewを使用する代わりに手動で "リフレッシュ"をトリガーするにはどうすればよいですか? –
Subjectを使用して、プログラム内のどこからでも 'onNext'を呼び出すことができます。 –