Изменение ориентации экрана вызывает повторный ввод данных - PullRequest
0 голосов
/ 16 января 2011

Я разрабатываю простое приложение, только несколько видов деятельности и ничего сложного.У меня проблема в том, что в некоторых моих действиях у меня есть виджеты EditText, и когда экран поворачивается, эти виджеты теряют свои значения.Они по-прежнему визуально, то есть на экране телефона, сообщают свои значения до поворота, а в код сообщают свои значения по умолчанию.

Например, у меня есть действие с EditText, я ввожу число, 15, калькулятор начинает вычислять, отображает результат.Если в этот момент я поворачиваюсь в другую ориентацию, как ожидалось, активность умирает, перезагружается, показывает новую ориентацию, мое значение 15 все еще находится в EditText, однако калькулятор (код) вычисляет, как если бы это было 0, чтоначальное значение.Я не пытался изменить начальное значение, чтобы увидеть, действительно ли оно вытягивается из значения по умолчанию, или просто установить себе значение 0, когда я приведу его к типу int.

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

1 Ответ

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

Когда вы читаете значения? Состояние просмотра сохраняется реализацией Activity по умолчанию onRestoreInstanceState, что происходит между onStart и onPostCreate. Если вы читаете значения до того, как это произойдет, это объясняет, почему вы видите значения по умолчанию для своих расчетов, а не те значения, которые отображаются после отображения экрана.

...