Я опытный .NET-разработчик, но это мое первое приложение для Android, и это сводит меня с ума!Активность Android Refreshing On Rotation
Это таймер обратного отсчета, который отлично работает, но когда вы поворачиваете экран, он повторно инициализировал активность, которая обнуляла и останавливала отсчет.
Это то, что я пробовал; Я избавился от объекта CountDownTimer и вместо этого создал класс, внутренний для активности, которая расширила AsyncTask, поэтому она запускалась в отдельном потоке ... Без изменений. Я понял, что это внутренний класс, который он повторно инициализирует с помощью деятельности.
Вот что я попробовал дальше; Я сделал класс внешним. Activity передает свой контекст классу, а onProgressUpdate & onPostExecute запускает публичные функции в контексте для обновления пользовательского интерфейса активности. Опять же, это прекрасно работает, пока вы не повернуть его ... Aaaargh!
Однако я обнаружил, что класс async все еще запущен, но пользовательский интерфейс не изменяется, потому что (я думаю), у этого действия теперь есть другой контекст, к которому относится ссылка класса async.
Так вот, где я. Каждое решение устраняет одну проблему. & создает другое. Нужно ли мне как-то поддерживать контекст, или я начинаю преследовать собственный хвост?
Любая помощь будет с благодарностью оценена!
Ta. Barry
Спасибо, ребята, это невероятно полезно! Я считаю, что это моя проблема - мне просто нужно раскрыть мой код, чтобы быть более структурированным, и я смогу воспользоваться вашим советом ... Еще раз спасибо! –