timer是android中用于计时的控件,其实现需要TimerTask 以及Handler的辅助
首先我们现在建好的类中定义Handler 代码如下:
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.d("debug", "handleMessage方法所在的线程:"
+ Thread.currentThread().getName());
int m=msg.what;
// Handler处理消息
if (m > 0) {
Log.d("debug","剩余时间:"+(m/60)+"分" +(m%60)+ "秒");
Time.setText("");
Time.setText(" 剩余时间:"+(m/60)+"分" +(m%60)+ "秒");
} else {
getWarmingDialog("时间已到,请交卷,否则您的成绩将作废!","交卷").show();
// 结束Timer计时器
timer.cancel();
Time.setVisibility(1);
}
}
};
之后在类的某函数中写到:
timer=new Timer(true);
//定义倒计时
TimerTask timerTask=new TimerTask() {
int m=2700;
@Override
public void run() {
Message msg=new Message();
msg.what=m--;
handler.sendMessage(msg); //注意此处为sendMessage
}
};
timer.schedule(timerTask,1000,1000); //这里用来设置每隔多少秒触发一次事件
然后通过button点击或其他什么事件调用这个函数就可以了
赶快试试吧