Я учусь шаблон Observer, я хочу, чтобы мое наблюдаемый следить за определенные переменным, когда она меняет свое значение и сделать некоторые операции, я сделал что-то вроде:Android Rxjava подписаться на переменные изменения
public class Test extends MyChildActivity {
private int VARIABLE_TO_OBSERVE = 0;
Observable<Integer> mObservable = Observable.just(VARIABLE_TO_OBSERVE);
protected void onCreate() {/*onCreate method*/
super();
setContentView();
method();
changeVariable();
}
public void changeVariable() {
VARIABLE_TO_OBSERVE = 1;
}
public void method() {
mObservable.map(value -> {
if (value == 1) doMethod2();
return String.valueOf(value);
}).subScribe(string -> System.out.println(string));
}
public void doMethod2() {/*Do additional operations*/}
}
Но doMethod2() не назовешь
Я давно покинул Java. Вот моя мысль. Потому что 'VARIABLE_TO_OBSERVE' копируется в Observable. Следовательно, этого не наблюдается. Как насчет 'private Integer VARIABLE_TO_OBSERVE = 0;'? – Danh