rxjava版本 2.2.3
Disposable disposable;
final byte SECOND = 59;
//返回Disposable 对象-倒计时
disposable = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread())
.take(SECOND + 1)
.subscribe(new Consumer<Long>() {
@Override
public void accept(Long aLong) throws Exception {
setText((SECOND - aLong) + "S");
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
}
}, new Action() {
@Override
public void run() throws Exception {
//complete
setText("重新获取");
}
});
//stop方法
if (disposable != null && !disposable.isDisposed()) {
disposable.dispose();
disposable = null;
}