2015-05-14 43 views
1

我試圖從列表中以1秒的間隔發出對象。RxJava如何從列表發出間隔對象

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被同時執行。我究竟做錯了什麼?

回答

2

您可以壓縮一個計時器列表:

Observable 
.timer(1, 1, TimeUnit.SECONDS).onBackpressureDrop() 
.zipWith(actionButtonList, (t, b) -> b) 
.subscribeOn(...) 
.observeOn(...) 
.doOnNext(...) 
.subscribe(...) 
+0

由於計時器已被棄用,你可以使用間隔。 – Pedram