Я прочитал о том, как Android обрабатывает «изменения конфигурации» - уничтожая активную активность.
Я действительно хочу узнать от Android Team, почему это так. Я был бы признателен за объяснение того, как шли рассуждения, потому что я не понимаю его. Тот факт, что он действует таким образом, ставит нас всех, как я вижу, в мир боли.
Предположим, что у вас есть действие, которое представляет собой набор EditText: s, флажки и т. Д. Если пользователь начинает заполнять эту форму текстом / данными, а затем меняет ориентацию (или получает телефонный звонок), то все вводимые пользователем данные ушел Я не нашел способа сохранить государство. Это заставляет нас делать чрезвычайно болезненное кодирование, чтобы не потерять все данные.
На мой взгляд, вам нужен еще один класс «не-Activity» (или «удерживающий значение» класс возможно), который имеет одно поле для каждого «элемента формы» (EditText, флажок и т. Д.).
Для каждого существующего «элемента формы» вам необходимо присоединить событие типа «onChanged» (или onTextChanged или что-то в этом роде), которое обновляет соответствующее поле в классе «значение-значение» чтобы быть уверенным, что для каждого введенного вами символа (например, в EditText) сохраняется сразу.
Возможно, вы можете использовать некоторый слушатель (например, «onDestroy» или что-то в этом роде), а затем заполнить класс, содержащий значения, данными.
Я также нашел эту информацию , где они говорят об использовании Bundle, onSaveInstanceState и onRestoreInstanceState , но это также означает, что программист должен вручную сохранить, а затем позже вернуть значения в правильное место? Этот подход немного менее сложен, чем мои предложения выше, но все же не очень хорош.
Может ли кто-нибудь сказать мне, что я совершенно неправ, и что это не так, и что я полностью пропустил некоторую жизненно важную информацию?