Detecting value change using Rxjava

Can we detect if a class member value is getting changed using RxJava?? Say in a class there is a variable var, now can we get notified whenever the value of var changes using RxJava.


You can use something like this:

private final BehaviorSubject<Integer> subject = BehaviorSubject.create();
private Integer value=0;

public Observable<Integer> getUiElementAsObservable() {
    return subject;

public void updateUiElementValue(final Integer valueAdded) {
    synchronized (value) {
        if (valueAdded == 0)
        value += valueAdded;

and subscribe to it like this:

            .subscribe(new Action1<Integer>() {
                public void call(Integer userMessage) {

you have to create setter for all of your variables that you want something subscribe to their changes and call onNext if change applied.


When an observer subscribes to a BehaviorSubject, it begins by emitting the item most recently emitted by the source Observable

you can see other type of subjects here:

some useful link: about reactive programming : and about rxjava :