uczę Wzorzec Obserwator, chcę moje obserwowalne śledzenie pewnej zmiennej, gdy zmienia się jego wartość i zrobić kilka operacji, zrobiłem coś takiego:Android Rxjava subskrybować zmiennej zmian
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*/}
}
Ale doMethod2() nie zostanie wywołany
Opuściłem Javę dawno temu. Oto moja myśl. Ponieważ 'VARIABLE_TO_OBSERVE' jest kopiowany do obserwowalnego. Dlatego nie jest przestrzegane. Co powiesz na 'private Integer VARIABLE_TO_OBSERVE = 0;'? – Danh