В моей программе, у меня есть следующая иерархия:Фрагменты в не восстанавливаются после изменения ориентации
Activity
Fragment
ViewPager + FragmentStatePagerAdapter
Fragment containing video
фрагмента, который непосредственно вложен в деятельности инициализируется с использованием setRetainInstance (истина). Это привело к сбою при переключении ориентации. Используется решение, описанное в отчете об ошибке: https://code.google.com/p/android/issues/detail?id=42601#c10.
Тем не менее, приложение будет разбиваться, когда я переключу ориентацию. Я нашел еще один отчет об ошибке +: https://code.google.com/p/android/issues/detail?id=42601#c32.
После применения этого решения я смог повернуть устройство без сбоя приложения. Однако глубоко вложенный фрагмент не сохранил своего состояния. Поскольку этот фрагмент содержит видео, которое должно продолжаться, несмотря на изменение ориентации, это необходимо. Я нашел третий отчет об ошибке, описывающий это, известная проблема в версиях поддерживающих библиотек поддержки Android 20: up https://code.google.com/p/android/issues/detail?id=74222#c17
Теперь кажется, что самый глубокий фрагмент сохраняет какое-то состояние. По крайней мере, он не разрушается, так как звук видео продолжает воспроизводиться повсюду и после изменения ориентации. Однако после изменения ориентации фрагмент не восстанавливается. Я просто вижу белый прямоугольник, где должно быть видео.
Как вы можете видеть, это становится нелепым. Мне уже пришлось использовать три взломанных решения для ошибок в классе ViewPager, и он все еще не работает должным образом. Если кто-нибудь знает, что еще я могу попробовать, я буду очень признателен.