原理是利用interval操作符每1秒刷新一下UI。。代码如下
int currentMillers = 0;
String Minute;
String seconds;
Observable.interval(0,1, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Long>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Long aLong) {
currentMillers ++;
int minute = currentMillers / 60;
int millers = currentMillers % 60;
if(millers < 10)
{
seconds = "0"+millers;
}else {
seconds = String.valueOf(millers);
}
if(minute < 10){
Minute = "0"+ minute;
}else {
Minute = String.valueOf(minute);
}
mTimerText.setText(String.format(getString(R.string.order_waitting_timmer),Minute,seconds));
}
});