You have to move the portion of the background task that updates the ui onto the main thread. There is a simple piece of code for this: runOnUiThread ( new Runnable () { @Override public void run () { //stuff that updates ui } });