Сохранение состояния активити.

 
 
 
Сообщения:41
Всем здравствовать.
пишу таймер обратного отсчета.
при создании активити появляется вьюшка:
Нажми Старт.
Кликаю по кнопке Старт - начинается обратный отсчет с тиканием. В отдельном потоке.
Чтобы при нажатии кнопки Назад телефона, отсчет прекращался, в onStop стоит прерывание потока.
При смене ориентации: onStop - останавливает отсчет и звук, а onCreate - заново отображает Нажми Старт

В уроках читаю про сохранения и восстановление состояний, однако не могу понять, как сохранять поток и восстанавливать его, чтобы он продолжал обратный отсчет?
 
 
Сообщения:55
Возможно сохранять значение таймера нужно в бандле, а поток пересоздавать каждый раз при смене ориентации. После смены ориентации активити уничтожается согласно своему жизненному циклу.
Изменен:27 ноя 2017 05:39
 
 
Сообщения:987
running = false;
main()
{
    Timer t = new Timer(true);
    t.scheduleAtFixedRate(new TimerTask()
    {

        @Override
        public void run()
        {
            if(running)
                // update time.
        }
    }, 0, 10);

}

startTimer()
{
    running = true;
}

pauseTimer()
{
    running = false;
}



дёшево и сердито. и никакой камасутры с потоками.
 
Модераторы:demon_zxBeowulf13thShogun
Сейчас эту тему просматривают:Нет