Android: фрагменты и onConfigurationChanged - PullRequest
3 голосов
/ 02 ноября 2011

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

Я вызываю метод setContentView в методе onConfigurationChanged действия, чтобы перезагрузить представление действий, однако это никогда не завершается вызовом метода onCreateView фрагмента, чтобы получить новое представление (соответствующее вновь повернутому экрану). Это имеет смысл, потому что фрагмент был добавлен вручную с помощью кода. Поэтому я попытался вручную повторно добавить фрагмент в метод onConfigurationChanged действия, но все же метод onCreateView фрагмента не вызывается. Также у меня было предположение, что система Android автоматически обрабатывает повторное добавление фрагмента, если вы используете систему транзакций менеджера фрагментов ... но я могу ошибаться.

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

Спасибо за любую помощь, Гарри

...