有些情况需要隔一段时间去执行某个操作一次或者是每隔一段时间久执行某个操作:


下面是每隔一段时间就执行某个操作,直到关闭定时操作:

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);// 打开定时器,执行操作


已测试通过,若有更好的办法,希望能相互交流一下。

 
 
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐