我正在使用ArrayList
模式监听类型为Object
的{{1}}:
Observable
在我的 onCreate 方法中:
//Instances
private List<Store> storeList = new ArrayList<>();
private static PublishSubject<List<Store>> publishStoreListSubject = PublishSubject.create();
private Observer<List<Store>> storeListObserver = new Observer<List<Store>>() {
@Override
public void onSubscribe(Disposable d) { }
@Override
public void onNext(List<Store> storeList) {
//Do work ....
}
@Override
public void onError(Throwable e) { }
@Override
public void onComplete() { }
};
在我的客户端服务器方法中,我具有以下内容:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
publishStoreListSubject.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe(storeListObserver);
}
问题:触发每个商品的onNext,而不是将整个storeList作为一个单位触发。例如:如果我有4家商店,则onNext被触发4次。
顺便说一句,我的onRetrieveStores中没有任何循环的机制
答案 0 :(得分:0)
如果要在发射最后一个项目时执行某些操作,则应实现onComplete()。每个发出的新项目都会调用onNext()。