ich diesen Code leite:Warum Intervall Operator in RxJava die Ergebnisse von flatMap ändern
private void concatenatedSets() {
Observable<String> concatenatedSets =
Observable.just("1/5/8", "1/9/11/58/16/", "9/15/56/49/21");
concatenatedSets.flatMap(s -> Observable.from(s.split("/")))
.map(s -> Integer.valueOf(s))
.interval(200, TimeUnit.MILLISECONDS)
.subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Long>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Long aLong) {
tvCounter.setText(String.valueOf(aLong));
}
});
}
Die erwartete Ausgabe
1
5
8
1
9
11
58
16
9
15
56
49
21
Jedoch wäre, alles, was ich bekommen ist eine endlose Sitzung des Zählens von 1 bis unendlich, wie in 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ...
glaube ich das Problem kam, nachdem ich
01.235.164 hinzugefügt.interval(200, TimeUnit.MILLISECONDS)
aber ich weiß nicht warum.
So warnte die IDE mir dies in der Tat. Aber ich habe zum ersten Mal mit RxJava gearbeitet, also wusste ich nicht, was ich tun sollte. Das größte Problem ist, dass ich einen anderen Anwendungsfall hatte, in dem das Intervall wie vorgesehen funktionierte (ich weiß nicht warum und wie), was mich dazu gebracht hat, Werte zu definieren, wie Sie es gesagt haben. Vielen Dank. Ich werde nach den Antworten auf die Frage suchen, die Sie erwähnt haben –