【发布时间】:2017-02-05 10:15:53
【问题描述】:
开发者! 我正在尝试在实际项目中使用 RxJava,但似乎我没有正确理解它的逻辑。我需要在一个新线程中创建一个对象列表。完成后将此列表发送给观察者。我发现的是:
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() {
}
});
但是很容易看出,list 在主线程中创建和执行,那么如何使用 rxJava 在一个全新的线程中创建呢?
【问题讨论】:
标签: java android multithreading rx-java rx-android