Итак, я прочитал, как Android обрабатывает "изменения конфигурации" - уничтожая активную активность.
Первый вопрос Я действительно хочу знать у Android Team - почему? Я был бы признателен за объяснение того, как рассуждали, потому что я не получаю его =)
В любом случае тот факт, что он действует таким образом, ставит нас всех, как я вижу, в мир боли.
Предположим, что у вас есть Activity, который представляет несколько EditText: s, checkboxes и т.д. Если пользователь начинает заполнять эту форму текстом/данными, а затем меняет ориентацию (или получает Phonecall), тогда все вводят Пользователь ушел. Я не нашел способа сохранить состояние. Это заставляет нас делать крайне болезненное кодирование, чтобы не потерять все данные.
Как я вижу, вам нужен еще один класс "non-Activity" (или "value-hold" class), который имеет одно поле для каждого "элемента формы" (EditText, checkbox и т.д.),
Для каждого отдельного "элемента формы", который существует, вам необходимо присоединить событие "onChanged" (или onTextChanged или что-то подобное), которое обновляет соответствующее поле в классе "value-hold" , чтобы убедиться, что для каждого отдельного символа, который вы вводите (например, в EditText), сохраняется сразу.
Возможно, вы можете использовать какой-то прослушиватель (например, "onDestroy" или что-то еще), а затем заполнить класс хранения значений...
Я также нашел эту часть информации, где они говорят об использовании Bundle, onSaveInstanceState и onRestoreInstanceState, но это также означает, что программисту приходится вручную сохранять, а затем возвращать значения в нужном месте? Этот подход немного менее беспорядочен, чем мои предложения выше, но все же не очень приятно...
Теперь, может кто-нибудь, пожалуйста, скажите мне, что я совершенно неправ, и что это не так, как это работает, и что я полностью пропустил какую-то важную информацию?; -)
Привет