1

我正在尝试以 1 秒的间隔从列表中发出对象。

AppObservable.bindFragment(this, Observable.from(actionButtonList))
    .subscribeOn(Schedulers.newThread())
    .flatMap(ab -> Observable.defer(() -> Observable.just(ab).delay(1000, TimeUnit.MILLISECONDS)))
    .observeOn(AndroidSchedulers.mainThread())
    .doOnEach(notification -> ObjectAnimator.ofFloat(notification.getValue(), "alpha", 1, 0).setDuration(500).start())
    .subscribe(ab -> Log.d(TAG, ab.toString()));

使用这种方法,doOnEach 会同时执行。我究竟做错了什么?

4

1 回答 1

2

您可以使用列表压缩计时器:

Observable
.timer(1, 1, TimeUnit.SECONDS).onBackpressureDrop()
.zipWith(actionButtonList, (t, b) -> b)
.subscribeOn(...)
.observeOn(...)
.doOnNext(...)
.subscribe(...)
于 2015-05-17T09:00:24.257 回答