You never want to call thread.sleep() on the UI thread as it sounds like you have figured out. This freezes the UI and is always a bad thing to do. You can use a separate Thread and postDelayed
This SO answer shows how to do that as well as several other options
Handler
TimerTask
You can look at these and see which will work best for your particular situation