Я видел много учебников для стандартной реализации FragmentTabsPager
, где на каждой странице находится один Fragment
. Я пытаюсь объединить пример FragmentLayoutSupport
(ListFragment слева, подробнее Fragment
справа) с примером пейджера.
Вот метод getItem()
в FragmentTabsPager
из библиотеки поддержки v4.
public Fragment getItem(int position) {
TabInfo info = mTabs.get(position);
return Fragment.instantiate(mContext, info.clss.getName(), info.args);
}
Чтобы поддерживать несколько Fragments
на странице (не вложенных, а не бок о бок), будет ли это случай программного объявления макета (например, LinearLayout
) в моей переопределенной версии этого метода, создания экземпляров двух Fragments
и их добавления в виде дочерних элементов, возвращая LinearLayout
? (В случае портретной ориентации, возвращая LinearLayout
только с одним Fragment
.)
Достаточно ли переопределить этот метод или это наивный подход к проблеме?
Благодарю!
Не используйте FragmentPagerAdapter
, создайте свой собственный адаптер, который возвращает View
(в вашем случае LinearLayout
).
FragmentPagerAdapter
предназначен для работы с отдельными фрагментами, а вам нужно несколько.PagerAdapter
необходимые методыPagerAdapter
(instantiateItem()
) и вставьте его в свой пейджер. Вы можете сделать что-то вроде: `MyPagerAdapter расширяет PagerAdapter реализует ViewPager.OnPageChangeListener 'для обработки создания и переключения страниц в одном классе.