I do not think there is a more "elegant" solution than Activity.runOnUiThread(Runnable)or View.post(Runnable). You've probably already seen the discussion of threads in Android docs:
EDIT:
http://android-developers.blogspot.com/2009/05/painless-threading.html
, Android UI , , ; , Runnable .
, , Java, , , , , , , Activity.runOnUiThread(Runnable), , .