The filter() operator can filter the data of the Observable process, and the value returned by filter() as false will not be sent to the Subscriber.
The basic usage is as follows, the following example is to filter only even numbers:
Observable.just(1, 2, 3, 4) .filter(new Func1<Integer, Boolean>() { @Override public Boolean call(Integer integer) { return integer % 2 == 0; } }) .subscribe(new Action1<Integer>() { @Override public void call(Integer integer) { Log.v(TAG, "data=" + integer); } }); |
Output result:
data=2
data=4