How to execute a function every two seconds in Java on Android?

josmo picture josmo · May 5, 2011 · Viewed 27.3k times · Source

I'm trying to execute a chunk of Java code in my Android program every two seconds. My code currently looks like this:

       LinearLayout.postDelayed(new Runnable() { 
            public void run() { 

            //Do stuff here

            } 
       }, 2000);

Unfortunately, this only runs once after two seconds and then never runs again. How could I get it to run every two seconds?

Thanks in advance for all your help.

Answer

Peter Knego picture Peter Knego · May 5, 2011

Try this:

   LinearLayout.postDelayed(new Runnable() { 
        public void run() { 

        //Do stuff here

            // assuming LinearLayout is enclosing class
            LinearLayout.this.postDelayed(this, 2000);
        } 
   }, 2000);