您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页FragmentStatePageAdapter与Fragmen

FragmentStatePageAdapter与Fragmen

来源:化拓教育网

在ViewPager中使用Fragment的情况下,可以给ViewPager设置两种Adapter,一种是FragmentStatePagerAdapter,一种是FragmentPagerAdapter。

那这两种Adapter有什么区别呢?

FragmentStatePageAdapter

FragmentStatePagerAdapter会销毁不需要的Fragment,一般来说,ViewHolder会保存正在显示的Fragment和它左右两边第一个Fragment,分别为A、B、C,那么当显示的Fragment变成C时,保存的Fragment就会变成B、C、D了,而A此时就会被销毁,但是需要注意的是,此时A在销毁的时候,会通过onSaveInstanceState方法来保存Fragment中的Bundle信息,当再次切换回来的时候,就可以利用保存的信息来恢复到原来的状态。

图示如下

FragmentStatePageAdapter.png

FragmentPageAdapter

FragmentPageAdapter会调用事务的detach方法来处理,而不是使用remove方法。因此,FragmentPageAdapter只是销毁了Fragment的视图,其实例还是保存在FragmentManager中。

FragmentPageAdapter.png

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务