如何在Android延迟后调用方法

新手上路,请多包涵

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

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

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

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

原文由 aryaxt 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 748
2 个回答

科特林

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);

原文由 kontinuity 发布,翻译遵循 CC BY-SA 4.0 许可协议

在我的案例中,我无法使用任何其他答案。我改为使用本机 java Timer。

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

原文由 Jules Colle 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题