開發商! 我想在實際項目中使用RxJava,但似乎我並沒有得到它的邏輯正確。我需要在一個新線程中創建一個對象列表。完成後,將此列表發送給觀察員。我發現是:RxJava 2創建列表在新線程
LinkedList<IntroSliderElement> list = new LinkedList<>();
list.add(new IntroSliderElement(0, "test 0", 0));
list.add(new IntroSliderElement(1, "test 1", 1));
list.add(new IntroSliderElement(2, "test 2", 2));
Observable<LinkedList<IntroSliderElement>> listObserv = Observable.just(list);
listObserv
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<IntroSliderElement>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(List<IntroSliderElement> value) {
view().render(new IntroModel.OnFirstSliderElement((LinkedList<IntroSliderElement>) value));
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
但因爲它是很容易看到,列表創建並在主線程滿足,因此如何使它在使用rxJava一個全新的創建線程?
是的,當然,我忘了寫它,但它不會解決問題。列表將在可觀察之前創建。使用主線程的資源。 –
那麼你想要的是[Observable.fromCallable()](https://artemzin.com/blog/rxjava-defer-execution-of-function-via-fromcallable/)API – azizbekian
謝謝我已經試過這個,一切都按預期工作! –