Разница FragmentPagerAdapter и PagerAdapter - PullRequest
17 голосов
/ 08 декабря 2011

Я прочитал документацию для Android Pageadapter и FragpagePadapter, и я не увидел никакой разницы.Я имею в виду, что один - это фрагмент, а другой - нет ... это все?У меня нет особого опыта с фрагментами, поэтому, может быть, поэтому я не замечаю никакой разницы.Так какая разница, если я использую FragmentPagerAdapter или PagerAdapter ??

Ответы [ 2 ]

18 голосов
/ 08 декабря 2011

Разница в том, что вы можете использовать фрагменты внутри FragmentPageAdapter.Если вы хотите иметь фрагменты, которые будут использоваться в других частях вашего кода, это ваш Адаптер.В противном случае, если вы хотите иметь только код, который не будет использоваться повторно, вы можете использовать PagerAdapter.

9 голосов
/ 20 сентября 2013

Реализация PagerAdapter, который использует Фрагмент для управления каждой страницей. Но я настоятельно рекомендую использовать класс FragmentStatePagerAdapter, который также выполняет сохранение и восстановление состояния фрагмента.

FraggerStatePagerAdapter версия пейджера более полезна, когда имеется большое количество страниц, работает больше как представление списка. Когда страницы не видны пользователю, весь их фрагмент может быть уничтожен, сохраняя только сохраненное состояние этого фрагмента. Это позволяет пейджеру удерживать гораздо меньше памяти, связанной с каждой посещаемой страницей, по сравнению с FragmentPagerAdapter за счет потенциально больших накладных расходов при переключении между страницами. При использовании FragmentPagerAdapter у хоста ViewPager должен быть установлен действительный идентификатор.

Подклассам нужно только реализовать getItem (int) и getCount (), чтобы иметь работающий адаптер.

Вот пример реализации пейджера FragmentStatePagerAdapter, содержащего фрагменты списков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...