我们需要用到Timer和Handler来实现这个功能。
首先,我们需要在代码声明Timer这个类
timer = new Timer();
<span style="white-space:pre"> </span>编写一个timeTask方法,定时向handler发送消息,我选择的时间是1秒钟
<span style="white-space:pre"> </span><pre name="code" class="java">private void timeTask(){
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(1);
}
}, 0, 1000);
}
然后,声明一个Handler对象,并重写handleMessage方法
<pre name="code" class="java">private Handler handler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss ");
curDate = new Date(System.currentTimeMillis());//获取当前时间
date = formatter.format(curDate);
tvDate.setText(date);
break;
}
};
};
最后,别忘了在onStop中将timer cancel掉
<pre name="code" class="java">@Override
public void onStop() {
timer.cancel();
super.onStop();
}