Android延迟执行的三种方式

  • 线程
new Thread(new Runnable() {
      public void run() {
        //sleep设置的是时长
        Thread.sleep(1000);
        handler.sendMessage();
    }
}).start
  • 延时器
TimerTask task = new TimerTask() {
                            @Override
                            public void run() {
                                MotionEvent event = MotionEvent.obtain(195534905, 195534905, MotionEvent.ACTION_DOWN, 549, 867, 0);
                                webView.onTouchEvent(event);
                            }
                        };
                        Timer timer = new Timer();
                        timer.schedule(task, 3000);
  • Android消息处理, 推荐使用这种方式
new Handler().postDelayed(new Runnable()) {
    public void run() {
        //要执行的任务
    }
}, delay);
在使用过程中出现java.lang.RuntimeException: Can't create handler inside thread Thread that has not called Looper.prepare()错误。
解决办法:在方法中增加

Looper.prepare();
​​​​​​​方法代码
Looper.loop();//增加部分

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页