.jpg)
我希望能够在指定的延迟后调用以下方法。
在目标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】栏目查找您需要的精美模板。