为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Android系统延迟后调用方法

如何在Android系统延迟后调用方法

缥缈止盈 2019-06-17 16:45:57
如何在Android系统延迟后调用方法我希望能够在指定的延迟之后调用以下方法。在目标C中有如下内容:[self performSelector:@selector(DoSomething) withObject:nil afterDelay:5];在带有java的Android系统中,是否存在类似于这种方法的方法?例如,我需要能够在5秒后调用一个方法。public void DoSomething(){      //do something here}
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

科特林

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


爪哇

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


查看完整回答
反对 回复 2019-06-17
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

在我的案子里我不能用任何其他的答案。我使用了本机java计时器。

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


查看完整回答
反对 回复 2019-06-17
?
偶然的你

TA贡献1841条经验 获得超3个赞

看起来,MacOSAPI允许当前线程继续运行,并将任务安排为异步运行。在Java中,等效函数由java.util.concurrent包裹。我不知道Android会有什么限制。

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


查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 471 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信