Im с использованием Timer
для постоянного обновления TextView
, но у меня возникли проблемы с повторным запуском таймера во время метода onResume()
. Я использую timer.cancel()
в методах onPause()
и onDestroy()
, но как перезапустить таймер в onResume()
?Перезапуск таймера в методе onResume()?
Это мой код таймера ...
int delay = 1000;
int period = 1000;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
//I update the TextView here
}
}, delay, period);
Но я думал, что вы не можете обновить GUI с помощью таймера, поскольку он создает новый поток и не Nto выполнить на основном потоке пользовательского интерфейса – Snake
@Snake: Некоторые функции обновления GUI работают при вызове из не-GUI потоков, но это плохо документировано. Для других функций, которые не могут быть вызваны вне потока GUI, мы можем использовать функцию runOnGUIThread(), если это абсолютно необходимо. Я предпочел бы использовать Handler для выполнения этой задачи. – binW