在实际的开发过程中,ViewPager 与 Fragment 组合使用是比较常见的,而对于 fragment,它所使用的适配器是FragmentPagerAdapter。FragmentPagerAdapter 继承自PagerAdapter类,用于呈现Fragment页面。这些Fragment页面会一直保存在FragmentManager中,以便用户随时取用。
这个适配器最好用于有限个静态 fagment页面的管理。尽管不可见的视图有时会被销毁,但用户所有访问过的 fragmemt 都会被保存在内存中。因此 fragment实例会保存大量的各种状态,这就造成了很大的内存开销。如果要处理大量的页面切换,就可以使用FragmentStatePager-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;