Ich produziere einen Strom von Ereignissen mit rxjava2 wie folgt.Wie Sequenz von Ereignissen in einer Reihe mit RxJava durch seinen Wert filtern
Observable<Integer> observable = booleanPublisher.map(aBoolean -> {
if(aBoolean){
return 1;
}else{
return 0;
}
}).buffer(4).map(aLilst ->{
int sum = 0;
for (Integer i: aLilst) {
sum +=i;
}
return sum;
});
observable.subscribe(
aInt ->{
Log.v("Value",String.valueOf(aInt));
}
);
Dies erzeugt einen Strom von int Ereignissen mit Werten von 0..4, Jetzt würde Ich mag diesen Strom filtern, ein Ereignis zu emittieren, wenn beispielsweise 2 ganzzahlige Ereignisse in einer Reihe sind kleiner als 4, und ein anderer Ereignis, wenn 10 Integer-Ereignisse in einer Zeile mit 4 Werten vorhanden sind. Ich versuche, in 2 verschiedenen Observablen und Verschmelzungen zu trennen, hatte aber kein Glück, da diese 2 Ereignisse sich gegenseitig zurücksetzen müssen.
Vielen Dank im Voraus.
Ich habe dies als neue Antwort hinzugefügt, weil es einen anderen Ansatz verwendet und ich wollte die andere Antwort nicht zu lange machen. – GVillani82
Funktioniert sehr gut!, Vielen Dank. – miibpa