方法一:Handler.postDelayed实现
1、执行循环的函数如下:
private Handler handler = new Handler();
private Runnable task = new Runnable() {
public void run() {
// TODO Auto-generated method stub
handler.postDelayed(this,5*1000);//设置循环时间,此处是5秒
//需要执行的代码
}
};
2、调用的代码如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
handler.postDelayed(task,5000);//延迟调用
handler.post(task);//立即调用
}
方法二:Timer 实现
1.TimerTask实例
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
Message msg = new Message();
msg.what = 1;
handler.sendMessage(msg);
}
};
Handler handler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
//需要循环执行的代码
break;
default:
break;
}
};
};
```
2.调用方式
mTimer = new Timer();
//5s响一次
mTimer.schedule(timerTask, 0, 5000);
3.onDestroy()处理
protected void onDestroy() {
super.onDestroy();
mTimer.cancel();
};