Меню настроек Android закрывается при каждом изменении ориентации экрана - PullRequest
2 голосов
/ 18 апреля 2011

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

Я не обрабатываю изменения конфигурации самостоятельно, и мой метод onCreate, который я знаю, называетсяпосле каждого изменения ориентации не касается меню вообще.Буду признателен за понимание этой проблемы.

1 Ответ

1 голос
/ 18 апреля 2011

ContextMenu исчезло, потому что по умолчанию при вращении андроид вызывает destroy (), а затем onCreate (), но:

Если вы не хотите, чтобы Android проходил нормальный процесс уничтожения и восстановления; вместо этого вы хотите сами обработать воссоздание представлений, вы можете использовать атрибуты android: configChanges для элемента в AndroidManifest.xml.

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    android:configChanges="orientation|keyboardHidden">
</activity>

Таким образом, contextMenu не закрывается при вращении телефона, потому что метод onCreate () не вызывается.

Эта тема также может быть полезна - Перезапуск активности при ротации Android

...