原文:http://android-developers.blogspot.sg/2007/11/stitch-in-time.html?m=0
1.利用TimerTask实现任务的定时执行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| TextView hezhangjian; int count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); hezhangjian = (TextView) findViewById(R.id.hezhangjian); Timer timer = new Timer(); timer.schedule(new UpdateTimeTask(),100,200); } class UpdateTimeTask extends TimerTask{
@Override public void run() { count++; runOnUiThread(new Runnable() { @Override public void run() { hezhangjian.setText("这是"+"第"+count+"次"); } }); } }
|
2.利用Handler实现定时任务的操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| TextView hezhangjian; int count = 0; private Handler mHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mHandler = new Handler(); hezhangjian = (TextView) findViewById(R.id.hezhangjian); mHandler.postDelayed(new UpdateTimeTask(),200); } class UpdateTimeTask extends TimerTask{ @Override public void run() { count++; runOnUiThread(new Runnable() { @Override public void run() { hezhangjian.setText("这是"+"第"+count+"次"); mHandler.postDelayed(new UpdateTimeTask(),100); } }); } }
|
如果你想要取消这个post事件,你可以使用handler的removeCallbacks(TimerTask task)方法。