public void startDownTimer() {
if (coutDownTimer == null) {
coutDownTimer = new MyCoutDownTimer(Config.DOWN_TIME * 1000, 1000);
}
tv_time_cut.setText(getCutDownText(Config.DOWN_TIME + "秒"));
coutDownTimer.start();
}
@Override
protected void onDestroy() {
if (coutDownTimer != null) {
coutDownTimer.cancel();
}
super.onDestroy();
}
@SuppressWarnings("all")
class MyCoutDownTimer extends CountDownTimer {
public MyCoutDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
if (isFinishing() || tv_time_cut == null) return;
tv_time_cut.setText(getCutDownText((millisUntilFinished / 1000) + "秒"));
}
@Override
public void onFinish() {
if (isFinishing() || tv_time_cut == null) return;
tv_time_cut.setVisibility(View.GONE);
tv_getcode.setEnabled(true);
}
}
private SpannableStringBuilder getCutDownText(String time) {
return SpannableStringUtils.getBuilder(time)
.setForegroundColor(Color.parseColor("#6ad767"))
.append("后重新发送")
.create();
}