android延时更新_android handler延时更新ui - CSDN
  • 属性中private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { ca

    属性中

    private Handler mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                switch (msg.what) {
                    case 1:
                        Intent intent = new Intent(IntroduceActivity.this, MainActivity.class);
                        startActivity(intent);
                        break;
                    default:
                        break;
                }
            }
        };

    onCreate()

     mHandler.sendEmptyMessageDelayed(1, 3000);

    All

    
    
    public class IntroduceActivity extends Activity implements View.OnClickListener{
        private TextView mTvGoClasstime;
        private TextView mTvBackClasstime;
        private TextView mTvClassName;
        private TextView mTvTeacher;
        private Button mBtGo;
    
    
        private Handler mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                switch (msg.what) {
                    case 1:
                        Intent intent = new Intent(IntroduceActivity.this, MainActivity.class);
                        startActivity(intent);
                        break;
                    default:
                        break;
                }
            }
        };
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            this.requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.activity_introduce);
            inits();
        }
    
        private void inits() {
            mTvGoClasstime = (TextView) findViewById(R.id.tv_go_classtime);
            mTvBackClasstime = (TextView) findViewById(R.id.tv_back_classtime);
            mTvClassName = (TextView) findViewById(R.id.tv_class_name);
            mTvTeacher = (TextView) findViewById(R.id.tv_teacher);
            mBtGo = (Button) findViewById(R.id.bt_go);
            mBtGo.setOnClickListener(this);
    
            mHandler.sendEmptyMessageDelayed(1, 3000);
    
        }
        private void delay(int ms){
            try {
                Thread.currentThread();
                Thread.sleep(ms);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onClick(final View v) {
            switch (v.getId()) {
                case R.id.bt_go:
    
                    break;
    
                default:
    
                    break;
            }
    
        }
    }
    
    展开全文
  • Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作。下面是实现延时操作的三种方法:一、使用线程的休眠实现延时操作new ...

    在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作。

    下面是实现延时操作的三种方法:


    一、使用线程的休眠实现延时操作

    new Thread(new Runnable() {
                @Override
                public void run() {
    
                    Thread.sleep(1000); // 休眠1秒
    
                    /**
                     * 延时执行的代码
                     */
    
                }
            }).start();

    二、使用TimerTask实现延时操作

            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
    
                    /**
                     * 延时执行的代码
                     */
    
                }
            },1000); // 延时1秒

    三、使用Handler的postDelayed()方法实现延时操作

    new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
    
                    /**
                     * 延时执行的代码
                     */
    
                }
            },1000); // 延时1秒

    注:由于前两种在更新UI时,如果不使用消息处理机制的话,会报如下异常:Only the original thread that created a view hierarchy can touch its views.(只能在主线程中更新UI),为了避免这种错误出现,在使用延时操作的时候推荐使用第三种。

    展开全文
  • 记一些Android延时操作,主要为了方便自己以后用 方法1: new Handler().postDelayed(new Runnable(){ @Override public void run() { //这里写延时后执行的操作 } }, 1000); 方法2:...

    记一些Android的延时操作,主要为了方便自己以后用
    方法1:

    new Handler().postDelayed(new Runnable(){
        @Override
        public void run() {
              //这里写延时后执行的操作
        }
    
    }, 1000);

    方法2:

    展开全文
  • android延时更新UI

    2011-10-31 15:09:10
    [code="java"] private final Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case : //定义自己的消...

    private final Handler mHandler = new Handler() {
    public void handleMessage(Message msg) {
    switch (msg.what) {
    case :
    //定义自己的消息事件
    break;

    default:
    break;
    }
    }
    };
    /*延时200ms更新UI*/
    mHandler.postDelayed(new Runnable() {
    @Override
    public void run() {
    // 更新UI
    mTextView.setText("延时200ms后更新UI");
    }
    }, 200);
    展开全文
  • Android延时执行方法

    2019-07-18 20:17:16
    Android延时执行方法 1、使用线程,利用线程休眠达到延时效果。 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(10 * 1000); //线程休眠10秒执行 //TODO todo somthing h...

    Android延时执行方法

    1、使用线程,利用线程休眠达到延时效果。

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(10 * 1000);  //线程休眠10秒执行
                //TODO  todo somthing here
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }).start();
    

    2、使用handler延时执行方法

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
           //TODO  todo somthing here
          }
    },10 * 1000);  //延迟10秒执行
    

    3、使用定时器Timer执行延时任务

    TimerTask task = new TimerTask(){        
    	public void run(){      
     		//TODO  todo somthing here
      		}   
      	};    
      Timer timer = new Timer(); 
      //10秒后执行
      timer.schedule(task, 10 * 1000);  
    
    
    
    展开全文
  • 大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,我大致总结了4种方式,欢迎补充纠正: 使用Handler消息传递机制; 使用AsyncTask异步任务; 使用runOnUiThread...
  • Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。 下面是实现延时执行操作的几种方法:**1....
  • 在项目中有很多的方法可能我们不需要立即执行,那么就需要延时。 首先第一种就是线程:sleep会阻塞线程 new Thread (new Runnable(){ public void run(){ Thread.sleep(time)...
  • Android延时操作方法

    2015-09-05 22:22:21
    Android延时操作方法 方法1:Handler postDelayed方法 方法2:线程sleep 方法3:计时器Timer 效果图 MainActivity package com.example.shen.delaytest; import android.app.Activity; import android.os...
  • android 延时程序

    2019-07-20 17:52:43
    1、.使用Handler的postDelayed方法实现延时操作 Handler handler=new Handler(); Runnable runnable=new Runnable(){ @Override public void run() { ...
  • 在项目中有这样的需求,点击icon,出现引导界面2秒后进入主界面,这就...使用Handler的postDelayed方法实现延时操作** new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public v...
  • Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。  下面是实现延时执行操作的几种方法: 1...
  • private void delay(int ms){ try {  Thread.currentThread(); Thread.sleep(ms);  } catch (InterruptedException e) {  e.printStackTrace();  }  }
  • 一、利用handler延时跳转 new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { Intent intent=new Intent(MainActivity.this,Main2Activ...
  • 今天我们初识Android延时,分别使用Handler的postDelayed和Timer的schedule实现延时操作。 首先我们使用Handler的postDelayed实现延时操作。 new Handler().postDelayed(new Runnable() { @Override public void...
  • 开启新线程  new Thread(new Runnable(){  public void run(){  Thread.sleep(XXXX);  handler.sendMessage(); //告诉主线程执行任务  } }).start  ...Timer
  • 方法一:new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent=new Intent(MainActivity.this, Leansons.class); startActivity(intent);
1 2 3 4 5 ... 20
收藏数 29,808
精华内容 11,923
关键字:

android延时更新