Вопрос о жизненном цикле Android: увеличение счетчика - PullRequest
0 голосов
/ 30 января 2011

Мое приложение для Android отслеживает количество правильных ответов, пока пользователь выполняет тест.Если ответ пользователя соответствует правильному ответу, счетчик для отслеживания этого увеличивается.Эта логика имеет место в методе "onResume".

Проблема в том, что если пользователь нажимает кнопку «Домой» из этого действия, а затем повторно входит в приложение, оно возобновляет работу в этом действии, и счетчик снова увеличивается.

Единственное решение, которое я могу придумать, - установить в поле правильного ответа «магическое число», такое как 99, когда происходит правильный ответ, и сначала проверить его, прежде чем перейти к логике проверки ответа.Если это 99, тогда пропустите логику проверки ответа и просто перезапустите.

Есть ли лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 30 января 2011

Я не совсем уверен в реальной проблеме, которую вы имеете, и в частности, почему вы увеличиваете счетчик правильных ответов в событии onResume. У вас наверняка есть какая-то кнопка, на которой пользователь подтверждает свой ответ. Вы не проверяете правильность данного ответа, то есть в методе нажатия кнопки?
Реализация такой логики в событии onResume несколько опасна, потому что она вызывается базовой ОС Android.

2 голосов
/ 30 января 2011

Похоже, вы используете метод жизненного цикла приложения, чтобы вызвать эффект без жизненного цикла. Пожалуйста, отправьте код. Если вы полагаетесь на onResume, чтобы указать, что вы вернулись из другой деятельности, вы должны взглянуть на startActivityForResult. Если это не так, вам нужно опубликовать более подробное описание вашей программы. Однако вы не должны использовать onResume ни для чего, кроме настройки состояния ваших приложений, поскольку вы не всегда можете контролировать, как оно вызывается.

...