Hubert Hubert - 1 year ago 70
Android Question

How to pause / sleep thread or process in Android?

I want to make a pause between two lines of code, Let me explain a bit:

-> the user clicks a button (a card in fact) and I show it by changing the background of this button:


-> after let's say 1 second, I need to go back to the previous state of the button by changing back its background:


-> I've tried to pause the thread between these two lines of code with:

try {
} catch (InterruptedException e) {
// TODO Auto-generated catch block

However, this does not work. Maybe it's the process and not the Thread that I need to pause?

I've also tried (but it doesn't work):

new Reminder(5);

With this:

public class Reminder {

Timer timer;

public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);

class RemindTask extends TimerTask {
public void run() {
System.out.format("Time's up!%n");
timer.cancel(); //Terminate the timer thread

How can I pause/sleep the thread or process?

Answer Source

A good solution to this problem is to use the Handler.postDelayed() method:

public void onClick(View v) {

    // Execute some code after 2 seconds have passed
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() {
         public void run() { 
    }, 2000); 
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download