我上三班。Pref、A 类和 B 类。
public class Pref{
public static ArrayList<Pref> prefList;
public static Observable<ArrayList<Pref>> observable;
public static void loadData(){
prefList = getFromDb();
observable = Observable.just(prefList);
}
}
应用程序首先运行 ClassA。
public ClassA{
public ClassA(){
initObserver();
setObserver();
}
public void initObserver(){
Pref.loadData();
}
public void setObserver(){
Observer<ArrayList<Pref>> obs = new Observer() {
@Override
public void onSubscribe(Disposable dspsbl) {
System.out.println("Subscribed");
}
@Override
public void onNext(ArrayList<Pref>> t) {
System.out.println("Loading Preference.");
//Need to do some other works here.
}
@Override
public void onError(Throwable thrwbl) {
}
@Override
public void onComplete() {
}
};
Pref.observable.subscribe(obs);
}
}
现在我想从 ClassB 更改列表。
public class ClassB{
private void changeList(){
Pref.prefList = loadDataFromSomeSource();
}
}
当我跑步ClassA
时,System.out works
很好。但是当我从ClassB
没有任何事情发生更改列表时。我的问题是,使用Rxjava
. 是用来Rxjava
建的吗?如果我错了,我该如何实现这个功能?我怎样才能写几个ClassA
类似的类,以便在ClassB::changeList()
运行时,我可以听它ClassA?