对于轮询器大家一定不陌生,开发中无论是Java的Timer+TimeTask , 还是Android的Hanlder都可实现,那么现在给大家再介绍种简单的实现方式:利用RxJava的Interval操作符。
以下是一个利用Interval操作符实现的ViewPager广告栏自动切换的核心代码:
subscribe_auto = Observable.interval(3000, 3000, TimeUnit.MILLISECONDS)至于其他部分代码就不在这里贴出,感兴趣的同学可以下载源码查看,最后上效果:
//延时3000 ,每间隔3000,时间单位
.compose(this.<Long>bindToLifecycle())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<Long>() {
@Override
public void call(Long aLong) {
int currentIndex = mViewPager.getCurrentItem();
if (++currentIndex == loopAdapter.getCount()) {
mViewPager.setCurrentItem(0);
} else {
mViewPager.setCurrentItem(currentIndex, true);
}
}
});