Android-виджет перестает работать, когда вид меняется с портретного на ландшафтный или наоборот - PullRequest
2 голосов
/ 15 июня 2010

Мой виджет перестает работать (перестает отвечать на нажатие кнопки), когда вид меняется с портретного на ландшафтный или наоборот, кто-нибудь знает, почему это происходит, и если есть исправление?

РЕДАКТИРОВАТЬ: найдено решение. Мне нужно было отправлять все PendingIntents через каждое обновление RemoteViews, даже если они уже были установлены. При изменении ориентации макет раздувается, и к нему применяются только самые последние кэшированные RemoteView.

1 Ответ

1 голос
/ 15 июня 2010

Когда ориентация устройства изменилась, если вы не указали иное, Android уничтожил вашу активность и воссоздает ее.

Чтобы упростить разработку приложений для Android, система Android автоматически обрабатывает события изменения конфигурации и перезапускает текущее действие с новой конфигурацией. Это поведение по умолчанию, которое позволяет объявлять ресурсы, такие как макеты и элементы рисования, на основе ориентации, размера экрана, локали и т. Д.

Хотя это поведение действительно мощный, так как ваше приложение автоматически адаптируется к устройству Конфигурация во время выполнения, это иногда сбивает с толку для нового Android разработчики, которые задаются вопросом, почему их деятельность разрушена и воссоздана.

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

Посмотрите здесь

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