UPDATE: Since this answer was originally written, you now can have nested fragments, which means it is possible to have a ViewPager
use fragments for pages and be in a fragment itself. This sample project demonstrates the technique.
I now return you to your regularly-scheduled answer, presented in its entirety...
Quoting myself from the book:
The simplest way to use a ViewPager is to have it page fragments in and out of the
screen based on user swipes. This only works if the ViewPager itself is not contained
within a fragment, as you cannot have fragments nested inside of other fragments.
Quoting Dianne Hackborn:
Nested fragments are not currently supported. Trying to put a fragment within the UI of another fragment will result in undefined and likely broken behavior.
It is perfectly possible to put a ViewPager
inside a Fragment
, so long as the contents of the ViewPager
do not themselves contain fragments. Since the concrete implementations of PagerAdapter
supplied by the Android Support package use fragments, you have to roll your own fragment-less PagerAdapter
to put the ViewPager
in a fragment.
I will endeavor to make this point clearer in the next edition of the book (unless you're British, in which case I'll endeavour to make this point clearer :-).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…