viewPager组件的适配器可以使用pagerAdapter,也可以使用pagerAdapter的两个子类
分别是FragmentPagerAdapter和FragmentStatePagerAdapter,下面来说说两者区别
FragmentPagerAdapter
用法:
private class HomeAdapter extends FragmentPagerAdapter{
public HomeAdapter(FragmentManager fm) {
super(fm);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Fragment getItem(int position) {
return FragmentFactory.getFragment(position);
}
@Override
public int getCount() {
if(mMainTitles!=null)
return mMainTitles.length;
return 0;
}
}FragmentStatePagerAdapter
用法和FragmentPagerAdapter是一样的
区别:
FragmentPagerAdapter具有缓存机制,在fragment第一遍滑动时会将fragment缓存在容器中,第二次滑倒该fragment直接在缓存中获取fragment而不会重新创建新的fragment,适合在viewPager中的fragment数量不多的时候使用。
FragmentStatePagerAdapter没有缓存机制,每次都会重新创建新的fragment,适合在viewPager中数量较多的时候使用
本文介绍了ViewPager组件中两种适配器的使用方法及其区别。FragmentPagerAdapter具备缓存机制,适用于少量Fragment场景;FragmentStatePagerAdapter则每次都会创建新的Fragment,适合大量Fragment的场景。
991

被折叠的 条评论
为什么被折叠?



