В настоящее время я разрабатываю игру для ОС Android. В нем игрок может выполнять действия. Каждое действие стоит игроку «энергии». Текущая энергетическая ценность игроков хранится в таблице sqlite и отображается на главном экране (home.class). Когда игрок выполняет действия, значение энергии будет уменьшаться. Когда энергия достигает нуля, я хочу, чтобы таймер обратного отсчета сбросил значение энергии до 10.Реализация CountDownTimer правильно
Способ, которым я его реализовал до сих пор, заключается в следующем. В верхней части главного экрана, отображающего рейтинги здоровья/энергии пользователей, я отобразил CountDownTimer.
Таймер работает. Однако, когда я нажимаю кнопку и перехожу к другому действию ... и затем возвращаюсь на главный экран, таймер перезапускается. Я знаю, что это происходит потому, что следующий код работает, когда я хочу, чтобы вернуться на домашний экран:
Intent i = new Intent(Crime.this, Home.class); startActivity(i);
Он начинается новый Home.class, потому что я хочу, чтобы обновить значения, отображаемые на главном экране после того, как некоторые виды деятельности были проведены.
Что такое лучший способ реализации CountDownTimer? Любая помощь была бы оценена ... спасибо :)
Не могли бы вы добавить метод refresh() в класс Home и вызвать это вместо создания нового экземпляра? – Thomas
Вы имеете в виду что-то вроде этого? 'public void onBackPressed() { \t \t super.onBackPressed(); \t \t \t \t \t Главная страница h = new Home(); \t \t \t h.refresh(); ' – gurpsone