DialogFragment, показывающий AlertDialog с адаптером, не переживает изменение ориентации

StackOverflow https://stackoverflow.com/questions/9390938

Вопрос

Я наткнулся на стену по этому поводу. Мой DialogFragment хорошо работает со всеми другими диалоговыми окнами, которые у меня есть, за исключением того, в котором используется клиентский адаптер. При изменении ориентации во второй раз я получаю код сгенерированного кода. Это использование пакета поддержки API 4+.

Этого не происходит при первом изменении ориентации, это всегда происходит при втором изменении, что означает, что это происходит в следующем порядке с отображением диалогового окна:

  • Портрет -> Пейзаж -> Портрет -> java.lang.IllegalStateException
  • Пейзаж -> Портрет -> Пейзаж -> java.lang.IllegalStateException

Вот диалог:

родовое слово

Это DialogItem:

родовое слово

Я знаю, что это проблема с адаптером, потому что если я удалю вызов java.lang.IllegalStateException: Fragment NewAlertDialog{447bc528} not attached to Activity из .setAdapter(), проблема исчезнет.

Также странно, что на моем устройстве ICS НЕТ ПРОБЛЕМ. Это происходит только на тестируемом мной устройстве Gingerbread. Любая помощь приветствуется!

Спасибо!

Мэтт.

Это было полезно?

Решение

Проблема решена.Вызов ресурсов getResources () из Activity вместо DialogFragment был необходимым изменением.

До:

родовое слово

После:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top