How to call a method after a delay in Android

2021-6-3 anglehua

I want to be able to call the following method after a specified delay. In objective c there was something like:

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

Is there an equivalent of this method in android with java? For example I need to be able to call a method after 5 seconds.

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

Kotlin

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

Java

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



I couldn't use any of the other answers in my case. I used the native java Timer instead.

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


采集自互联网,如有侵权请联系本人

Powered by emlog 京ICP备15036472号-3 sitemap