Приложение для Android отслеживает количество правильных ответов, пока пользователь находится в процессе проведения викторины. Если ответ пользователя соответствует правильному ответу, счетчик для отслеживания этого увеличивается. Эта логика имеет место в методе onResume.Android lifecyle question re: приращение счетчика
Проблема заключается в том, что если пользователь нажимает кнопку «домой» из этого действия, затем возвращается в приложение, он возобновляет эту операцию, и счетчик снова увеличивается.
Единственное решение, о котором я могу думать, это установить правильное поле ответа на «магическое число», например, 99, когда произойдет правильный ответ, и сначала проверьте это, прежде чем входить в логику проверки ответа. Если это 99, то пропустите логику проверки ответа и просто перерисуйте.
Есть ли лучший способ сделать это?
Оба ответа были хорошими, поэтому я только выбрал один и поддержал оба. Причина, по которой ответ не проверяется в событии onClick, заключается в том, что он передает управление другой активности, которая отображает правильный ответ, общее количество правильных ответов, оставшиеся вопросы и т. Д. То, что я не получал, это то, что когда завершение работы, он отключается от стека и уничтожается - поэтому onCreate вызывается каждый раз. –
Хм .. Я не знаю логику вашего приложения в деталях, но активность обычно следует использовать для одного варианта использования, то есть для отображения списка элементов. С сайта разработчика Android: «... это единственная, целенаправленная вещь, которую пользователь может сделать». В принципе, предложение вопроса, а также отображение правильного ответа/если ответ был верным, на мой взгляд, сосредоточен на одном действии. Вы можете сделать это, скрыв/показывая элементы в этом действии. Вид вопроса, который отображается, определяется намеренным ури, переданным самой деятельности. Таким образом, вы решите свою проблему :) – Juri
Мне пришло в голову использовать тот же экран для ответа на вопрос. Одна из проблем заключается в том, что компоновка немного сложнее и сложнее, благодаря дополнительным полям и управлению полями для отображения/скрытия. Хотя я * мог бы пойти так, если бы я снова это сделал, все еще не уверен. –