如何依次获取列表项的结果

时间:2016-08-13 21:08:19

标签: rx-java

有一个元素列表,每个元素都能够播放你的动画。动画方法返回Observable并在动画调用subscriber.onNext(); subscriber.onCompleted();时结束。

然后我正在做

Observable.from (items)
                 .flatMap (item :: startAnimation)
                 .subscribe ();

如何制作上一个动画结束后下一个项目动画的内容?所以他们同时开始

public Observable<Boolean> startAnimation(){
        return Observable.create(subscriber -> {
        Action action = new Action() {
            @Override
            public boolean act(float delta) {
                subscriber.onNext(true);
                subscriber.onCompleted();
                return true;
            }
        };

        if(moveToAction != null){
            SequenceAction sequenceAction = new SequenceAction(moveToAction, action);
            main.addAction(sequenceAction);
        }else{
            subscriber.onNext(true);
            subscriber.onCompleted();
        }
    });
    }

Aсtion对象是一个侦听器结束动画

1 个答案:

答案 0 :(得分:0)

而不是flatMap使用concatMap;当项目n+1完成后,它将订阅项目n

相关问题