• android 三种定时器的写法


    
    
    //两秒后执行
    new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
    --todo
    }
    }, 2000);




    -----------------------------------------


    一、 使用Timer 和 TimerTask Timer timer
    = new Timer(); MyTimerTask timerTask = new MyTimerTask(); timer.schedule(timerTask, 3000, 1); // 延迟3秒钟,执行1次 //timer.cancel();// 取消 class MyTimerTask extends TimerTask { @Override public void run() { //这里不能处理UI操作 // do something } } ------------------------------------------------------------------------ 二、采用Handler的sendMessageDelayed(Message, long) public void startAutoFlowTimer() { handler = new Handler() { @Override public void handleMessage(Message msg) { // do something Message message = handler.obtainMessage(0); sendMessageDelayed(message, 1000); } }; Message message = handler.obtainMessage(0); handler.sendMessageDelayed(message, 1000); } handler.removeMessages(0) //结束调用 --------------------------------------------------------------------------- 三、采用Handler的postDelayed(Runnable, long) 方法,这个实现比较简单一些: 1. Handler handler=new Handler(); Runnable runnable=new Runnable(){ @Override public void run() { // do something handler.postDelayed(this, 2000); //在这里实现每两秒执行一次 } }; handler.postDelayed(runnable, 2000);//启动,两秒后执行runnable. handler.removeCallbacks(runnable); //停止 --------------------------------------------------------------------------- //延迟执行 // 设置异步线程, Handler handler = new Handler() { public void handleMessage(Message msg) { // handle message switch (msg.what) { case 1: //ui 方法 } super.handleMessage(msg); } }; Message message = handler.obtainMessage(1); handler.sendMessageDelayed(message, 3000); // 发送message,3秒后隐藏提示框

    转载自:http://www.cnblogs.com/weidingqiang/p/5569012.html

  • 相关阅读:
    meta属性
    博客
    概念术语
    装饰器与生成器
    Linux基础
    线程
    网络编程之socket
    网络编程之网络基础部分

    内置函数(max,min,zip)及文件处理
  • 原文地址:https://www.cnblogs.com/kingsam/p/5643230.html
Copyright © 2020-2023  润新知