Java – How to call a method after a delay in Android


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

Best Solution


      //Do something after 100ms
    }, 100)


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