RxJava Android倒计时
来源:互联网 发布:可达矩阵求解过程 编辑:程序博客网 时间:2024/05/22 07:07
转载自这位大哥的:http://blog.csdn.net/qq_33375419/article/details/56479994?locationNum=6&fps=1
/** * 使用RxJava实现倒计时 */ private void countDown() { final long count = 30; Observable.interval(1, TimeUnit.SECONDS) .take(31)//计时次数 .map(new Func1<Long, Long>() { @Override public Long call(Long integer) { return count - integer; } }) .doOnSubscribe(new Action0() { @Override public void call() { cutdown.setEnabled(false); cutdown.setBackgroundColor(Color.DKGRAY); } }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Long>() { @Override public void onCompleted() { cutdown.setEnabled(true); cutdown.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); cutdown.setText("倒计时"); } @Override public void onError(Throwable e) { } @Override public void onNext(Long aLong) { cutdown.setText("倒计时" + aLong); } }); }
其中take操作符:
take操作符和interval操作符联合使用,由于一旦interval计时开始除了解绑就无法停止,所以只有在onNext方法中计算一旦释放到30秒的时候再进行解绑从而终结该计时。但使用take操作符就简单很多了,它的意思是只释放前N项,和计时配合使用的话,就可以不用担心计时会一直执行,10秒过后它会自动结束。
阅读全文
0 0
- RxJava Android倒计时
- RxJava倒计时
- android中使用Rxjava实现倒计时功能
- 使用RxJava实现android里面的倒计时效果
- 使用RxJava实现倒计时
- RxJava之倒计时
- Rxjava 实现倒计时的方法
- Android 倒计时
- android倒计时
- 【Android】倒计时
- android 倒计时
- android 倒计时
- Android 倒计时
- Android 倒计时
- Android 倒计时
- android倒计时
- android 倒计时
- android倒计时
- Java——ArrayList,Vector,LinkedList的区别
- c# 微信jsapi支付
- 给迷茫不知如何学的UI新手
- 韩信点兵 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只
- xsl模板学习笔记
- RxJava Android倒计时
- POJ 1979 Red and Black
- 不安装oracle客户端,用plsql连接oracle
- v-for 列表渲染---表格的制作
- 地杰斯特拉算法邻接表版
- 注册jdbc驱动程序的三种方式
- 简单的链式调用
- 不是所有的设计潮流都要跟随
- lattice的逻辑分析仪的使用