首页 > Java > 如何在 Android 中延迟后调用方法?

如何在 Android 中延迟后调用方法?

上一篇 下一篇

我希望能够在指定的延迟后调用以下方法。
在目标c中,有类似的东西:

[self performSelector:@selector(DoSomething) withObject:nil afterDelay:5];

在带有java的android中是否有这种方法的等效物?
例如,我需要能够在 5 秒后调用一个方法。

public void DoSomething()
{
     //do something here
}

分割线

网友回答:

在我的情况下,我无法使用任何其他答案。
我改用了原生的java Timer 。

new Timer().schedule(new TimerTask() {          
    @Override
    public void run() {
        // this code will be executed after 2 seconds       
    }
}, 2000);

分割线

网友回答:

科特林

Handler(Looper.getMainLooper()).postDelayed({
    //Do something after 100ms
}, 100)

 

爪哇岛

final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        //Do something after 100ms
    }
}, 100);

要导入的类是 。android.os.handler

分割线

网友回答:

注意:当问题没有指定Android作为上下文时,给出了这个答案。有关特定于 Android UI 线程的答案,请查看此处。


看起来Mac OS API允许当前线程继续,并计划任务异步运行。在 Java 中,等效函数由包提供。我不确定Android可能会施加什么限制。java.util.concurrent

private static final ScheduledExecutorService worker = 
  Executors.newSingleThreadScheduledExecutor();

void someMethod() {
  ⋮
  Runnable task = new Runnable() {
    public void run() {
      /* Do something… */
    }
  };
  worker.schedule(task, 5, TimeUnit.SECONDS);
  ⋮
}

模板简介:该模板名称为【如何在 Android 中延迟后调用方法?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Java】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 321次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-18
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
html5 微信文章 微信素材 微信模板 自适应 企业网站 微信图片 单页式简历模板 响应式 微信公众平台
您可能会喜欢的其他模板