有时候用到倒计时的时候离开这个页面并不想结束这个倒计时,还需要继续运行,举一个场景,一个发验证码的一分钟倒计时,倒计时到30s的时候返回上一个页面,然后5s进去,在不改变任何属性的情况下,需要继续倒计时,从25s开始..
当然倒计时的方法有很多种,这里用到的Runnable+Handler实现
创建一个全局变量
public static int remainTime = 0;
public static int remainTime = 0;
创建一个专门每秒减1的计时器
public Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
remainTime--;
if (remainTime > 0) {
} else {
reSendTip.setText("点击再次发送");
reSendTip2.setVisibility(View.GONE);
reSendTip.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String timeString = reSendTip.getText().toString();
try {
Integer.valueOf(timeString);
} catch (Exception e) {
public Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
remainTime--;
if (remainTime > 0) {
} else {
reSendTip.setText("点击再次发送");
reSendTip2.setVisibility(View.GONE);
reSendTip.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String timeString = reSendTip.getText().toString();
try {
Integer.valueOf(timeString);
} catch (Exception e) {