采用Handler的postDelayed实现安卓定时器

来源:互联网 发布:centos websocket 编辑:程序博客网 时间:2024/06/05 23:42

这个实现比较简单一些:
方法步骤为:
1. Handler handler=new Handler();
Runnable runnable=new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//要做的事情
handler.postDelayed(this, 2000);
}
};
2.启动计时器:
handler.postDelayed(runnable, 2000);//每两秒执行一次runnable.
3.停止计时器:
handler.removeCallbacks(runnable);
Java代码 复制代码 收藏代码
  1. package com.quding.thread;   
  2.   
  3. import android.app.Activity;   
  4. import android.os.Bundle;   
  5. import android.os.Handler;   
  6. import android.os.Looper;   
  7. import android.os.Message;   
  8. import android.util.Log;   
  9. import android.widget.TextView;   
  10.   
  11. public class MyCounter extends Activity{   
  12.   
  13.     private TextView mTextView;   
  14.     private Handler handler;   
  15.     private int count;   
  16.     private Runnable myRunnable;   
  17.        
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {   
  20.         super.onCreate(savedInstanceState);   
  21.         setContentView(R.layout.mycounter);   
  22.         mTextView = (TextView) findViewById(R.id.mycounter_textView);   
  23.            
  24.         handler = new Handler(Looper.getMainLooper());   
  25.         myRunnable = new Runnable(){   
  26.             @Override  
  27.             public void run() {   
  28.                 //此处添加每个一段时间要执行的语句   
  29.                 count++;   
  30.                 mTextView.setText(count + "");   
  31.                 handler.postDelayed(this1000);   
  32.             }   
  33.         };   
  34.         //启动计时器   
  35.         handler.postDelayed(myRunnable, 1000);   
  36.     }   
  37.   
  38.     @Override  
  39.     protected void onStop() {   
  40.         super.onStop();   
  41.         handler.removeCallbacks(myRunnable);   
  42.     }   
  43. }  

0 0
原创粉丝点击