android中viewpager+fragment,Android开发之ViewPager+Fragment

使用步骤

1、Activity的布局文件

android:id="@+id/viewpager"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center" >

2、加载要显示的Fragment,这里要注意,导入的全部是

android.support.v4.app.Fragment,也就是v4兼容包下的Fragment类,至于为什么,看步骤3

Fragment1 f1 = new Fragment1();

Fragment2 f2 = new Fragment2();

Fragment3 f3 = new Fragment3();

fragmentContainter = new ArrayList();

fragmentContainter.add(f1);

fragmentContainter.add(f2);

fragmentContainter.add(f3);

3、用FragmentPagerAdapter关联上面的Fragment和ViewPager,

FragmentPagerAdapter (android.support.v4.app.FragmentPagerAdapter)

继承自 PagerAdapter。相比通用的 PagerAdapter,该类更专注于每一页均为 Fragment 的情况。我们只需要实现 getCount() 和 getItem()即可,从getItem()可以看出,它返回的是v4的Fragment,所以2中的问题答案就在这里了~~

pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager())

{

@Override

public int getCount()

{

return fragmentContainter.size();

}

@Override

public android.support.v4.app.Fragment getItem(int arg0)

{

return fragmentContainter.get(arg0);

}

});

这样就可以实现滑动Fragment

重要的话

PageAdapter 是 FragmentPagerAdapter 以及 FragmentStatePagerAdapter 的基类,可以将上面的替换成FragmentStatePagerAdapter 。

FragmentStatePagerAdapter 和 FragmentPagerAdapter 的区别: FragmentPagerAdapter使用时,每一个生成的 Fragment 都将保存在内存之中,而 FragmentStatePagerAdapter 只保留了当前显示的Fragment,其他划过的Fragment离开视线后,就会被销毁;而在页面需要显示时,再生成新的实例(可以通过打印Fragment的生命周期来查看,这里就不粘贴了)。这么实现的好处就是当拥有大量的页面时,不必在内存中占用大量的内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值