android中的倒计时功能,主要用于发送验证码以及其他。
我在这个项目里用于打卡。
//读卡倒计时逻辑
class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
bt_get_cart_id.setText("点击读卡");
txtCode.setText("读卡超时 请重试");
bt_get_cart_id.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(runnable).start();//打卡用子线程
time.start();
}
});
ColseCom();
}
public void onTick(long millisUntilFinished) {
bt_get_cart_id.setText("读卡中");
bt_get_cart_id.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bt_get_cart_id.setText("点击读卡");
bt_get_cart_id.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(runnable).start();//打卡用子线程
time.start();
}
});
ColseCom();
time.cancel();
}
});
}
}
代码有点乱,只能作为参考。
用法:
TimeCount time = new TimeCount(6000,1000);//倒计时六秒