利用CountDownTimer直接进行倒计时
private long countSeconds;
public final ObservableField<String> sendCodeNum = new ObservableField<>();
private CountDownTimer timer = new CountDownTimer(60 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
countSeconds = millisUntilFinished / 1000;
sendCodeNum.set(countSeconds + "s");
}
@Override
public void onFinish() {
countSeconds = 0;
sendCodeNum.set(getApplication().getResources().getString(R.string.register_code_more));
isCodeAgain.set(true);
}
};
public void 将timerstopTimer() {
if (timer != null) {
timer.cancel();
timer = null;
}
}
activity中:
if(!activity.isFinishing()){
}
fragment中:
if(getActivity()!=null){
}
@Override
public void onFinish() {
if(getFragmentManager()!=null){
dismiss();
}
}