差异FragmentPagerAdapter和PagerAdapter

我读的android pageadapter和fragmentpageadapter的文档,我没有看到任何区别。 我的意思是一个是片段,一个不是,但是..是所有? 我对片段没有太多的经验,所以也许这就是为什么我没有注意到任何区别。 那么,如果我使用FragmentPagerAdapter或PagerAdapter有什么区别?

Solutions Collecting From Web of "差异FragmentPagerAdapter和PagerAdapter"

不同之处在于你可以在FragmentPageAdapter使用FragmentPageAdapter 。 如果您想要在您的代码的其他部分使用碎片,那么这是您的适配器。 否则,如果你只想让代码不被重用,你可以使用PagerAdapter

PagerAdapter的实现,使用片段来pipe理每个页面。 但我强烈build议使用FragmentStatePagerAdapter类还处理片段状态的保存和恢复。

FragmentStatePagerAdapter版本的pager更有用,当有大量的页面,工作更像一个列表视图。 当页面对用户不可见时,它们的整个片段可能被破坏,只保留该片段的保存状态。 与FragmentPagerAdapter相比,这允许寻呼机保持与每个被访问页面相关联的less得多的存储器,代价是在页面之间切换时潜在的更多开销。

当使用FragmentPagerAdapter时,主机ViewPager必须有一个有效的ID集。

子类只需要实现getItem(int)和getCount()就可以有一个工作适配器。

这是一个包含列表片段的FragmentStatePagerAdapter页面的示例实现