public abstract class

FragmentStatePagerAdapter

extends ​​PagerAdapter​

​java.lang.Object​

   ↳

​android.support.v4.view.PagerAdapter​

 

   ↳

android.support.v4.app.FragmentStatePagerAdapter

Class Overview


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 ​​getCount()​​ to have a working adapter.

Here is an example implementation of a pager containing fragments of lists:

publicclassFragmentStatePagerSupportextendsActivity{
staticfinalint=10;

MyAdapter;

ViewPager;

@Override
protectedvoid(Bundle){
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_pager);

mAdapter =newMyAdapter(getFragmentManager());

mPager =(ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter);

// Watch for button clicks.
Button=(Button)findViewById(R.id.goto_first);
button.setOnClickListener(newOnClickListener(){
publicvoid(View){
mPager.setCurrentItem(0);
}
});
button =(Button)findViewById(R.id.goto_last);
button.setOnClickListener(newOnClickListener(){
publicvoid(View){
mPager.setCurrentItem(NUM_ITEMS-1);
}
});
}

publicstaticclassMyAdapterextendsFragmentStatePagerAdapter{
publicMyAdapter(FragmentManager){
super(fm);
}

@Override
publicint(){
return;
}

@Override
publicFragment(int)