Вы должны использовать обработчик, чтобы изменить пользовательский интерфейс из потока, не являющегося пользовательским интерфейсом.
Вам нужно создать обработчик в действии:
Handler handler = new Handler();
Затем ваш поток долженбыть примерно таким:
Thread th = new Thread(){
public void run(){
//your non UI interaction code
handler.post( new Runnable(){
public void run(){
//your UI interaction code
}
});
}
};
th.start();
В любом случае, я думаю, что более элегантно использовать AsyncTask для этих действий.
С уважением.