I Observer Muster lerne, möchte ich meine beobachtbaren Spur einer bestimmten Variablen zu halten, wenn es seinen Wert ändert und einige Operationen zu tun, ich habe getan, so etwas wie:Android Rxjava einer Variablen ändern abonnieren
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*/}
}
Aber doMethod2() wird nicht aufgerufen
Ich habe Java vor langer Zeit verlassen. Hier ist mein Gedanke. Weil 'VARIABLE_TO_OBSERVE' in Observable kopiert wird. Daher wird es nicht beobachtet. Wie wäre es mit 'private Integer VARIABLE_TO_OBSERVE = 0; '? – Danh