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的生命周期來查看,這里就不粘貼了)。這么實現的好處就是當擁有大量的頁面時,不必在內存中占用大量的內存。
總結
以上是生活随笔為你收集整理的android中viewpager+fragment,Android开发之ViewPager+Fragment的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache 设置session超时时间
- 下一篇: 如何用js给图片重置宽_如何用js给老婆