获取验证码倒计时Timer
现在很多时候需要获取验证码,点击后倒计时一分钟,此时需要用到timer。
@SuppressLint("HandlerLeak")
private Handler handler = new Handler(){
@Override
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 0:
time --;
tvGetCode.setText(String.format(getString(R.string.login_wait_ontry), time));
break;
case 1:
if(timer != null) {
time = 0;
timer.cancel();
timer = null;
timerTask = null;
}
tvGetCode.setClickable(true);
tvGetCode.setText("");
break;
default:
break;
}
};
};
time = 60; timer = new Timer(); timerTask = new TimerTask() { @Override public void run() { Message msg = handler.obtainMessage(); if(time == 1) {//计时终止 msg.what = 1; } else { msg.what = 0; } handler.sendMessage(msg); } }; timer.schedule(timerTask, 0, 1000);
//此处可以启动异步线程去请求获取验证码等操作了

浙公网安备 33010602011771号