Приложение планшета падает при изменении ориентации - PullRequest
1 голос
/ 15 марта 2012

Я создаю приложение для планшета на Android 3.0, которое всегда должно отображаться в альбомной ориентации независимо от ориентации планшета. При запуске я выскакиваю диалоговое окно для пользователя. Когда планшет заблокирован в альбомной ориентации, повернут в портретную и разблокирован, приложение вылетает. Я обнаружил, что проблема заключается в IllegalStateException с сообщением «Просмотр не привязан к оконному менеджеру». Я добавил в манифест в теге приложения:

android:configChanges="orientation"

и добавлено в действие:

public void onConfigurationChange() {}

Ошибка выдается в Dialog.dismiss ().

Дайте мне знать, если вам нужна дополнительная информация. Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 15 марта 2012

я думаю, что ваш onConfigurationChange метод не должен быть пустым.Вы также должны вызвать метод super в нем.Напишите это так:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    //your optional code
}
2 голосов
/ 15 марта 2012

Попробуйте закрыть диалоговое окно в методе public void onPause() или protected void onSaveInstanceState(Bundle outState).

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

0 голосов
/ 17 марта 2012

Хорошо, поэтому мы решили проблему. Планшет, на котором мы тестируем, работает 3.2. В 3.2 атрибут android: configChanges должен также включать размер экрана

android:configChanges="orientation|screenSize"

внутри тега приложения манифеста.

Это было полезно: Как отключить изменение ориентации на Android?

...