在ViewPager中获取Fragment

来源:互联网 发布:怎么举报淘宝卖家骂人 编辑:程序博客网 时间:2024/05/16 14:38

用Fragment来填充ViewPager是,Fragment都是通过创建对象来添加到ViewPager中的,

        mFirstFrag = new FirstFragment(MainActivity.this);               mSecondFrag = new SecondFragment(MainActivity.this);                 mThirdFrag = new ThirdFragment(MainActivity.this);        FragmentPagerAdapter madapter = new FragmentPagerAdapter(getSupportFragmentManager()) {            @Override            public int getCount() {                return mLi.size();            }            @Override            public Fragment getItem(int arg0) {                return mLi.get(arg0);            }        };        mLi.add(mFirstFrag);        mLi.add(mSecondFrag);        mLi.add(mThirdFrag);        contentPager.setAdapter(madapter);

获取当前展示的Frament的方法

int index = contentPager.getCurrentItem();        switch (index) {        case 0://索引为0的是第一个页面,mFirstFrag是第一个页面            mFirstFrag.show(count);            break;        case 1:            mSecondFrag.show(count);        break;        default:            break;        }

第二个问题是:viewPager的缓存问题
当我们显示第一个页面的时候,第二个页面就缓存好了,但是当我们从第三个页面切换到第一个页面的时候,第一个页面已经被销毁了,这是后会重新加载,会调用Fragment的onCreateView方法,如果我们不想让他重新加载怎么办呢?
contentPager.setOffscreenPageLimit(3);让viewpager缓存3个页面

0 0
原创粉丝点击