有些情况需要隔一段时间去执行某个操作一次或者是每隔一段时间久执行某个操作:
下面是每隔一段时间就执行某个操作,直到关闭定时操作:
final Handler handler = new Handler();
Runnable runnable = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
// 在此处添加执行的代码
handler.postDelayed(this, 50);// 50是延时时长
}
};
handler.postDelayed(runnable, 50);// 打开定时器,执行操作
handler.removeCallbacks(this);// 关闭定时器处理
下面是隔一段时间后执行某个操作一次,执行完后,不再执行
final Handler handler = new Handler();
runCount = 0;// 全局变量,用于判断是否是第一次执行
Runnable runnable = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
if(runCount == 1){// 第一次执行则关闭定时执行操作
// 在此处添加执行的代码
handler.removeCallbacks(this);
}
handler.postDelayed(this, 50);
runCount++;
}
};
handler.postDelayed(runnable, 50);// 打开定时器,执行操作
已测试通过,若有更好的办法,希望能相互交流一下。