Tom Brito Tom Brito - 6 months ago 40
Android Question

How to show a view for 3 seconds, and then hide it?

I tried with threads, but android throws "CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.".

So how can I wait 3 seconds and then hide the view, letting the GUI responsive?


A Timer uses another thread either, so it will not solve..

Answer Source

Spawn a separate thread that sleeps for 3 seconds then call runOnUiThread to hide the view.

    Thread thread = new Thread() {
        public void run() {
            try {
            } catch (InterruptedException e) {

            runOnUiThread(new Runnable() {
                public void run() {
                    // Do some stuff
    thread.start(); //start the thread
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download