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; } }
相关文章推荐
- Android开发笔记之:Handler Runnable与Thread的区别详解
- android的消息处理机制(图文+源码分析)―Looper/Handler/Message
- Android消息处理机制Looper和Handler详解
- AsyncTask陷阱之:Handler,Looper与MessageQueue的详解
- Android编程开发之seekBar采用handler消息处理操作的方法
- Android中Handler消息传递机制
- Android中的Handler与多线程应用实例
- android开发教程之handler异步更新ui
- Android定时器和Handler用法实例分析
- Toast和Handler的间隔使用实例
- Android中AsyncTask与handler用法实例分析
- 深入理解Android中的Handler异步通信机制
- android开发教程之android的handler使用方法
- 详解Android中Handler的使用方法
- 详解Android中Handler的内部实现原理
- Android handler 详解(面试必问)
- Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)
- Android开发笔记 Handler使用总结
- PHP中set error handler函数用法小结
- Android中Handler引起的内存泄露问题解决办法