Изменение Android в представлении - состояние кнопки сбрасывается - PullRequest
0 голосов
/ 20 марта 2011

У меня есть кнопка, которая в основном используется для запуска / остановки.Поэтому изначально текст кнопки настроен на запуск.Я прикрепил к нему OnClickListener.Поэтому всякий раз, когда на него нажимают, я меняю его текст.Так что, если это было начало, оно стало остановкой, и наоборот.

Проблема возникает, когда я меняю вид телефона с портретного на альбомный или наоборот, текст кнопки сбрасывается.

Так, например, я нажал кнопку запуска - она ​​изменилась, чтобы остановить.Теперь, если я наклоню свой телефон, чтобы изменить вид, текст кнопки будет настроен для повторного запуска.

Использую ли я кнопку неправильно?

Ответы [ 2 ]

1 голос
/ 20 марта 2011

Вы должны сохранить состояние кнопки. Когда ориентация экрана изменяется, вызывается onCreate, и все переменные вашего приложения повторно инициализируются. Подробнее здесь http://developer.android.com/reference/android/app/Activity.html

0 голосов
/ 20 марта 2011

Нет, вы используете кнопку правильно.

То, что вы видите, это «изменение конфигурации». Когда вы наклоняете свое устройство, Android воссоздает вашу активность и воссоздает все ее представления (поэтому они получают заголовки по умолчанию, как они описаны в XML).

Вам нужно сделать

  • отключить изменения конфигурации для вашей активности. Для этого добавьте следующее в тег активности вашего манифеста: android:configChanges="orientation|keyboardHidden". Это не подходит, если у вас есть разные макеты для альбомной и портретной ориентации, когда вам нужно ...
  • обрабатывает изменения конфигурации путем переопределения onSaveInsatnceState метода вашей Деятельности, сохраняет там состояние и затем использует его в onCreate метод.

См. эту статью для дальнейшего объяснения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...