声明变量:
Button btnTime;
int timeMark = 0;
开始计时器:
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 0); //发送message
Handle处理:
Handler handler = new Handler() {
public void handleMessage(Message msg) { // handle message
switch (msg.what) {
case 1:
if (timeMark == 179) {
timeMark = 0;
btnTime.setText("再次发送");
} else {
++timeMark;
btnTime.setText("(" + (180 - timeMark) + "s)");
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 1000); //发送message , 这样消息就能循环发送
}
}
super.handleMessage(msg);
}
};
效果就是,点击按钮180秒内,按钮上的时间逐渐减至0秒,停止。需要再次计时,发送Message即可。