2016-03-20 4 views
0

У меня есть проект андроида, в котором я должен был поставить галочку и кнопку, чтобы, если флажок установлен, кнопка включена, в противном случае она не включена. Во-первых, я применил это, установив атрибут onClick этого флажка, но когда был установлен флажок, и я повернул экран, кнопка не включилась, хотя флажок все еще отмечен. Поэтому я попытался использовать метод setOnCheckedChangeListener, и он работал (после поворота экрана кнопка все еще была включена). Почему это происходит?Метод вызова на вращение экрана Android

+1

, пожалуйста, добавьте свой код –

+0

имейте в виду, что когда происходит поворот, активность переходит в onPause OnResume –

+0

На экране вращения, деятельность воссоздана. Если вы хотите сохранить состояние, вам необходимо переопределить 'onSaveInstance()' вашей активности. Затем восстановите состояние в 'onCreate()'. Я слышал, что если представление ('TextView',' EditText' и т. Д.) Имеет идентификатор, его состояние автоматически сохраняется. – Sufian

ответ

2

При повороте экрана активность в основном воссоздается. Некоторая информация о состоянии может быть автоматически сохранена, но вы должны лучше ознакомиться с общим жизненным циклом деятельности, чтобы понять тонкие различия.

activity lifecycle

1

Добавьте эту строку кода в вашей деятельности внутри вашего файла манифеста.

android:configChanges="orientation" 
1

В дополнение к ответу Джерри, чтобы обойти эту проблему быстро, вы можете просто сделать логические переменные-члены в своей деятельности для каждого из флажков. Затем они должны сохраняться путем изменения ориентации.

Джерри прав, убедитесь, что знаете о жизненном цикле Android.

Смежные вопросы