Шериф прав. Я бы также порекомендовал некоторую очистку кода, чтобы избежать всех запускаемых вами потоков и потоков. Просто используйте обработчик для обновления и запросите другое обновление через 30 секунд после текущего обновления. Это будет обработано в потоке пользовательского интерфейса.
TextView t;
Handler handler;
int count = 0;
@Override
public void onCreate(Bundle bundle)
{
t = (TextView) findViewById(R.id.textView1);
Handler handler = new Handler();
handler.post(uiUpdater);
}
Runnable uiUpdater = new Runnable()
{
@Override
public void run()
{
count = (count + 1) % texts.length;
t.setText(texts[count]);
handler.removeCallbacks(uiUpdater);
handler.postDelayed(uiUpdater, 30000);
}
};