关于FragmentPageAdapter

Posted quanhaijie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于FragmentPageAdapter相关的知识,希望对你有一定的参考价值。

FragmentPagerAdapter:该类中每一个生成的Fragment都将保存在内存中,所以缺点非常明显,
对于存在相对较多的fragment,程序将会吃掉非常多的内容。所以FragmentPagerAdapter适合那些相数量相对较少,
静态的页面。对于存在多个fragment的情况,一般推荐使用FragmentStatePagerAdapter。


1.getItem():
  
不是继承自PagerAdapter,是FragmentPagerAdapter自身的一个函数,目的是生成我们需要的fragment。该方法会被FragmentPagerAdapter.instantiateItem()方法调用:
  @Override
  public Fragment getItem(int position) {
            Fragment fragment = new Fragment();
            Bundle bundle = new Bundle();
            bundle.putString("position", "" + position);
            fragment.setArguments(bundle);
            return fragment;
        }

 

2.destoryItem()

  该函数被调用后,会对Fragment进行FragmentTransaction.detach(),并非删除,而是detach[解除附着]了,fragment依旧在FragmentManager的管理中,Fragment依旧会占有资源。

 

3.instantiateItem()
  判断一下要生成的Fragment是否已经存在(FragmentPagerAdapter通过FragmentManager保留所有已经生成的fragment),如果存在,那么使用旧的fragment,旧的fragment将会被attach;如果不存在,就调用getItem()生成一个新的,新的对象将会被保存,并FragmentTransation.add()。

 









以上是关于关于FragmentPageAdapter的主要内容,如果未能解决你的问题,请参考以下文章

scrapy 关于 rule, 关于多页

JS学习笔记关于选项卡,关于this,关于innerHTML

关于唯典冰淇淋新闻页的布局

关于prototype.js的一些技术说明

主页链接发送到关于/关于页面无法回家

关于写作