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

2022-08-31 04:02:31

我希望能够在指定的延迟后调用以下方法。在目标c中,有如下内容:

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

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

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

答案 1

科特林

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


答案 2

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

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

推荐