1

Я использую совместимость пакет Android с уровнем API 10. У меня есть FragmentActivity и в OnCreate метода, я динамически добавлять только что созданный экземпляр Fragment (myPagerFragment) с помощью:Родитель Fragment Не Показан ребенок ViewPager

getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, myPagerFragment).commit(); 

MyPagerFragment содержит ViewPager, который использует FragmentPagerAdapter. Реализация в соответствии с документацией Android ничем особенным. При нажатии кнопки в одном из дочерних фрагментов ViewPager нажата, то myPagerFragment будет удален и заменен на новый фрагмент экземпляра (myOtherFragment) с помощью:

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out); 
ft.replace(R.id.fragment_container, myOtherFragment).commit(); 

myOtherFragment отображает простой вид, содержащий кнопку. Когда эта кнопка нажата, то myOtherFragment будет удален и снова заменен новым экземпляром myPagerFragment с помощью:

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out); 
ft.replace(R.id.fragment_container, myPagerFragment).commit(); 

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

Я пробовал этот метод с другими представлениями, например, заменяя myPagerFragment на Фрагмент, содержащий простое определение вида, и это работает правильно и как ожидалось. Только фрагменты содержат ViewPager, который отображается неправильно при последовательных нагрузках.

Как я могу сделать Фрагменты, содержащие ViewPager, чтобы всегда отображаться правильно?

ответ

2

Вы не можете вставлять фрагменты фрагментами. Следовательно, вы не можете поставить FragmentPagerAdapter в ViewPager в Fragment. Пожалуйста, измените свой пользовательский интерфейс, чтобы разрешить этот конфликт, например, избавив от внешнего Fragment.

+1

Обратите внимание, что вложенный 'Фрагмент' теперь доступен **, см. [Этот вопрос] (http://stackoverflow.com/questions/6221763/android-can-you-nest-fragments) –