tag 标签: fragment

相关博文
  • 热度 19
    2021-6-16 14:15
    2021 次阅读|
    0 个评论
    android中ViewPager 与 Fragment
    在实际的开发过程中, ViewPager 与 Fragment 组合使用是比较常见的,而对于 fragment ,它所使用的适配器是 FragmentPagerAdapter 。 FragmentPagerAdapter 继承自 PagerAdapter 类,用于呈现 Fragment 页面。这些 Fragment 页面会一直保存在 FragmentManager 中,以便用户随时取用。 这个适配器最好用于有限个静态 fagment 页面的管理。尽管不可见的视图有时会被销毁 , 但用户所有访问过的 fr a gmemt 都会被保存在内存中。因此 fragment 实例会保存大量的各种状态,这就造成了很大的内存开销。如果要处理大量的页面切换,就可以使用 FragmentSt a teP a ger - Adaper 。 每一个使用 FragmentPagerAdapter 的 ViewPager 都要有一个有效的 ID 集合,有效 ID 的集合就是 Fragment 的集合。对于 FragmentPagerAdapter 的子类,只需要重写 getltem ( int position )和 getCount () 就可以了。 创建一个继承 FragmentPagerAdapter 类的类,代码如下 ∶ package com.rfstar.viewpagertest02; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentPagerAdapter; import java.util.List; public class FragmentAdapter extends FragmentPagerAdapter { private List fragmentList; public FragmentAdapter(FragmentManager fm,List fragments) { super(fm); this.fragmentList=fragments; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } } 重写的两个方法的作用很 明显 : g e t It em ( i nt postion )是根据位置获取 Fragment , geCount () 是用来获取列表数量的。 下面创建 3 个 Fragment 类,代码如下 ∶ package com.rfstar.viewpagertest02; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.fragment.app.Fragment; public class FirstFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState){ return inflater.inflate(R.layout.fragment_first,container,false); } } 其他两个Frgment 类与之没有区别,对应的布局文件只添加了一个文本框,展示一行文字。fragment_first.xml布局文件代码如下:
相关资源