Execute function after 5 seconds in Android Execute function after 5 seconds in Android android android

Execute function after 5 seconds in Android


You can use the Handler to add some delay.Call the method displayData() as below so that it will be executed after 5 seconds.

new Handler().postDelayed(new Runnable() {        @Override        public void run() {          displayData();        }    }, 5000);

Note : Do not use the threads like Thread.sleep(5000); because it will block your UI and and makes it irresponsive.


Assign millisDelayTime variable with the milliseconds you desire to cause a delay. mActivity is an object of Activity for providing Application Context. In your case millisDelayTime should be initialized with 5000

mActivity.runOnUiThread(new Runnable() {@Override    public void run() {    final Handler handler = new Handler();    handler.postDelayed(new Runnable() {       @Override       public void run() {             //your code here       }    }, millisDelayTime);  }});


Use a CountDownTimer

// There's a TextView txtCount in Main Activityfinal int secs = 5;new CountDownTimer((secs +1) * 1000, 1000) // Wait 5 secs, tick every 1 sec{    @Override    public final void onTick(final long millisUntilFinished)    {        txtCount.setText("" + (int) (millisUntilFinished * .001f));    }    @Override    public final void onFinish()    {        txtCount.setText("GO!");        finish();        // Time's up - Start the Login Activity        final Intent tnt =            new Intent(getApplicationContext(), LoginActivity.class);        startActivity(tnt);    }}.start();