发现很多朋友不知道 定时器该如何处理 我简单贴一下代码 我这里需求是 注册时需要点击获取验证码 然后 要显示验证码倒计时
先申明变量
private MyTime myTime;
然后写一个内部类
//定时器,
class MyTime extends CountDownTimer{
public MyTime(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
getcode.setText("获取验证码");
getcode.setEnabled(true);
getcode.setBackgroundResource(R.drawable.forget_getcode_normal);
}
//这个方法是每隔固定时间 文本更新一次
@Override
public void onTick(long millisUntilFinished) {
getcode.setBackgroundResource(R.drawable.forget_getcode_pressed);
getcode.setText("倒计时: " + millisUntilFinished / 1000);
}
}
displayToast("请求验证码成功,请稍候!");
//这里意思是 60秒倒计时
myTime = new MyTime(60000, 1000);
myTime.start();
getcode.setEnabled(false);
ondestory 取消定时器
@Override
protected void onDestroy() {
super.onDestroy();
if(myTime != null)
{
myTime.cancel();
}
}