Android spinner в диалоговом окне вылетает, если спиннер открыт (список вверх) и вы поворачиваете устройство - PullRequest
2 голосов
/ 30 июня 2011

У меня есть диалог с парой кнопок и спиннером, который, кажется, работает нормально, за исключением того, что мое приложение падает при следующих обстоятельствах: 1. начать деятельность 2. Показать диалог с Activity :: showDialog (создается в onCreateDialog) 3. нажмите на счетчик, чтобы он показал список 4. spinner устанавливает AlertDialog 5. поверните устройство 6. сбой с IllegalArgumentException

Я вижу, что действие прекратилось, а также исчез мой диалог, но AlertDialog, установленный Spinner, остается. Я бы просто отклонил Spinner AlertDialog, но он является закрытым членом класса Spinner (я проверял исходный код Android), поэтому нет доступа к нему.

Если вы переместите Spinner в Activity, вы получите: 1. начать деятельность 2. нажмите на счетчик, чтобы он показал список 3. spinner устанавливает AlertDialog 4. поверните устройство 5. Спиннер AlertDialog исчезает 6. активность показана повернутой

Я могу только сделать вывод, что либо: 1. вы просто не должны ставить счетчик в диалог (или AlertDialog), или 2. есть ошибка в диалоге или активности

Есть ли у кого-нибудь мудрость в этом вопросе?

Ответы [ 2 ]

1 голос
/ 01 августа 2011

В манифесте добавьте это к объявлению вашей деятельности:

android:configChanges="orientation"
0 голосов
/ 19 августа 2014

У меня была такая же проблема с PopupWindow. Решение состоит в том, чтобы позвонить

popup.dismiss()

в методе onDestroy ().

...