您的位置:首页 > 其它

Handler机制在秒表中的运用

2016-03-12 03:40 246 查看
/  直接上代码了

* 需求:实现秒表的效果
* 秒表的格式00:00:00


Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
if (msg.what == 0) {
tv.setText(change(num));
num++;
} else if (msg.what == 1) {
num=0;
}
};
};
TextView tv ;
int num = 0;

Timer timer;//计时器,可精准计时。


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView)findViewById(R.id.textView1);

}


public String change (int num) {
int seconde = num % 60;
int min = num / 60 % 60;
int hour = num / 60 / 60;

String s = seconde < 10 ? "0"+seconde:seconde+"";
String m = min < 10 ? "0"+min:min+"";
String h = hour < 10 ? "0"+hour:hour+"";
return h+":"+m+":"+s;
}


boolean flag;
public void click (View v) {
switch (v.getId()) {
case R.id.button1:  //开始计时
/*
* 通过Timer计时器设置计时任务
* 1:要做的计时任务,即每隔多长时间做的那件事情
* 2:多少毫秒后开始计时
* 3:每隔多长时间执行一次计时任务
* */
timer = new Timer();
timer.schedule(new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub
handler.sendEmptyMessage(0);
}
}, 0, 1000);
break;

case R.id.button2:   //停止计时

//          num = 0;

timer.cancel();  //取消计时器中执行任务,停止计时
break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  handler