android.support.v13.app
Class FragmentStatePagerAdapter
java.lang.Object
android.support.v4.view.PagerAdapter
android.support.v13.app.FragmentStatePagerAdapter
public abstract class FragmentStatePagerAdapter
- extends android.support.v4.view.PagerAdapter
Implementation of PagerAdapter
that
uses a Fragment
to manage each page. This class also handles
saving and restoring of fragment's state.
This version of the pager is more useful when there are a large number
of pages, working more like a list view. When pages are not visible to
the user, their entire fragment may be destroyed, only keeping the saved
state of that fragment. This allows the pager to hold on to much less
memory associated with each visited page as compared to
FragmentPagerAdapter
at the cost of potentially more overhead when
switching between pages.
When using FragmentPagerAdapter the host ViewPager must have a
valid ID set.
Subclasses only need to implement getItem(int)
and PagerAdapter.getCount()
to have a working adapter.
Here is an example implementation of a pager containing fragments of
lists:
The R.layout.fragment_pager
resource of the top-level fragment is:
The R.layout.fragment_pager_list
resource containing each
individual fragment's layout is:
Fields inherited from class android.support.v4.view.PagerAdapter |
POSITION_NONE, POSITION_UNCHANGED |
Method Summary |
void |
destroyItem(android.view.ViewGroup container,
int position,
java.lang.Object object)
|
void |
finishUpdate(android.view.ViewGroup container)
|
abstract android.app.Fragment |
getItem(int position)
Return the Fragment associated with a specified position. |
java.lang.Object |
instantiateItem(android.view.ViewGroup container,
int position)
|
boolean |
isViewFromObject(android.view.View view,
java.lang.Object object)
|
void |
restoreState(android.os.Parcelable state,
java.lang.ClassLoader loader)
|
android.os.Parcelable |
saveState()
|
void |
setPrimaryItem(android.view.ViewGroup container,
int position,
java.lang.Object object)
|
void |
startUpdate(android.view.ViewGroup container)
|
Methods inherited from class android.support.v4.view.PagerAdapter |
destroyItem, finishUpdate, getCount, getItemPosition, getPageTitle, getPageWidth, instantiateItem, notifyDataSetChanged, registerDataSetObserver, setPrimaryItem, startUpdate, unregisterDataSetObserver |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FragmentStatePagerAdapter
public FragmentStatePagerAdapter(android.app.FragmentManager fm)
getItem
public abstract android.app.Fragment getItem(int position)
- Return the Fragment associated with a specified position.
startUpdate
public void startUpdate(android.view.ViewGroup container)
- Overrides:
startUpdate
in class android.support.v4.view.PagerAdapter
instantiateItem
public java.lang.Object instantiateItem(android.view.ViewGroup container,
int position)
- Overrides:
instantiateItem
in class android.support.v4.view.PagerAdapter
destroyItem
public void destroyItem(android.view.ViewGroup container,
int position,
java.lang.Object object)
- Overrides:
destroyItem
in class android.support.v4.view.PagerAdapter
setPrimaryItem
public void setPrimaryItem(android.view.ViewGroup container,
int position,
java.lang.Object object)
- Overrides:
setPrimaryItem
in class android.support.v4.view.PagerAdapter
finishUpdate
public void finishUpdate(android.view.ViewGroup container)
- Overrides:
finishUpdate
in class android.support.v4.view.PagerAdapter
isViewFromObject
public boolean isViewFromObject(android.view.View view,
java.lang.Object object)
- Specified by:
isViewFromObject
in class android.support.v4.view.PagerAdapter
saveState
public android.os.Parcelable saveState()
- Overrides:
saveState
in class android.support.v4.view.PagerAdapter
restoreState
public void restoreState(android.os.Parcelable state,
java.lang.ClassLoader loader)
- Overrides:
restoreState
in class android.support.v4.view.PagerAdapter