首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FragmentPagerAdapter setPrimaryItem调用了多次

FragmentPagerAdapter是Android开发中的一个类,用于管理Fragment的切换和展示。setPrimaryItem是FragmentPagerAdapter的一个方法,用于设置当前显示的Fragment。

当调用setPrimaryItem方法时,会将指定的Fragment设置为当前显示的Fragment。这个方法可能会被多次调用,每次调用时传入不同的Fragment对象。

这个方法的调用次数取决于ViewPager的滑动行为和FragmentPagerAdapter的实现方式。当ViewPager滑动到新的页面时,会调用setPrimaryItem方法来设置新的Fragment为当前显示的Fragment。如果ViewPager设置了预加载的页面数量,那么在滑动过程中可能会调用多次setPrimaryItem方法。

FragmentPagerAdapter的setPrimaryItem方法的调用次数对于开发者来说是透明的,一般情况下不需要过多关注。开发者需要确保在setPrimaryItem方法中正确地设置当前显示的Fragment,并在需要时更新Fragment的内容。

关于FragmentPagerAdapter的更多信息和使用示例,可以参考腾讯云的官方文档:FragmentPagerAdapter

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ViewPager 获取当前显示的Fragment

Viewpager 获取当前显示的fragment 使用 getSupportFragmentManager().findFragmentByTag()方法 Viewpager + FragmentPagerAdapter...情况下 才好使; FragmentPagerAdapter 有一个特点 凡是加载过的Fragment 都会被保留,既然Fragment不会被销毁,那我们就可以使用findFragmentByTag()...方法找到它;但问题是动态创建的话 tag的设置;我们知道动态加载时是可以设置tag的,但是动态创建就没法设置了;如果viewpager使用的是适配器是 FragmentPagerAdapter 的话...ViewGroup container, int position, Object object) { currentFragment = (TabFragment) object; super.setPrimaryItem...(container, position, object); } 这种方式有一个缺陷 setPrimaryItem()是在 viewpager的滑动监听执行完后才会调用的;所以在 换的个滑动监听中获取当前显示的

3.6K80

Carson带你学Android:ViewPage最详细的使用教程

; public class MyFragmentAdapter extends FragmentPagerAdapter { List list; public MyFragmentAdapter...viewPager.setCurrentItem(0); viewPager.setOnPageChangeListener(new MyOnPageChangeListener());//设置页面切换时候的监听器(可选,用了之后要重写它的回方法处理页面切换时候的事务...) FragmentPagerAdapter: vp.addOnPageChangeListener(this);//设置页面切换时的监听器(可选,用了之后要重写它的回方法处理页面切换时候的事务) vp.setAdapter...FragmentStatePagerAdapter 和 FragmentPagerAdapter 的异同: 同 PageAdapter 是 FragmentPagerAdapter 以及 FragmentStatePagerAdapter...的基类,可将上面的FragmentPagerAdapter 替换成FragmentStatePagerAdapter 异 FragmentPagerAdapter使用时,每一个生成的 Fragment

56810

Android开发:ViewPage最详细教程

用相应的适配器Adapter关联上面的页卡(View/Fragment)和ViewPager: PagerAdapter 数据源:List FragmentPagerAdapter 数据源:List...; public class MyFragmentAdapter extends FragmentPagerAdapter { List list; public...viewPager.setCurrentItem(0); viewPager.setOnPageChangeListener(new MyOnPageChangeListener());//设置页面切换时候的监听器(可选,用了之后要重写它的回方法处理页面切换时候的事务...) FragmentPagerAdapter: vp.addOnPageChangeListener(this);//设置页面切换时的监听器(可选,用了之后要重写它的回方法处理页面切换时候的事务) vp.setAdapter...的异同: 同 PageAdapter 是 FragmentPagerAdapter 以及 FragmentStatePagerAdapter 的基类,可将上面的FragmentPagerAdapter

2.8K41

Android中Fragment+ViewPager的配合使用

FragmentPagerAdapter和FragmentStatePagerAdapter这两个类都有简单的代码显示如何构建一个完整的用户界面与他们。...; /**  * 自定义fragment适配器  * @author ZHF  *  */ public class MyFragmentPageAdapter extends FragmentPagerAdapter...事实上使用FragmentPagerAdapter 时,Fragment对象会一直存留在内存中,所以当有大量的显示页时,就不适合用FragmentPagerAdapter了,FragmentPagerAdapter...FragmentStatePagerAdapter 时,如果Fragment不显示,那么Fragment对象会被销毁,(滑过后会保存当前界面,以及下一个界面和上一个界面(如果有),最多保存3个,其他会被销毁掉) 但在回onDestroy...()方法之前会回onSaveInstanceState(Bundle outState)方法来保存Fragment的状态,下次Fragment显示时通过onCreate(Bundle savedInstanceState

997100

Android技能树 — Fragment总体小结

因为最近的APP开发,使用的是单Activity + 多Fragment的方式,不同于以前基本界面都是Activity的方式,所以Fragment用了很多,想到自己以前也写了很多相关的基础知识,Fragment...2.1 FragmentManager相关 1. getFragmentManager(): 获取Fragment父容器的管理器,但是现在该方法在Activity中已经被标记不推荐使用了。...和FragmentStatePagerAdapter,他们的区别我们可以看具体的源码: FragmentPagerAdapter源码: public abstract class FragmentPagerAdapter...可以大概看下其他作者文章介绍: Fragment调用setRetainInstance的原理 5.2 类似RxPermission用于处理回 RxPermission里有一个Fragment用于分发权限回...DialogFragment: 我们知道现在大家已经很少使用了Dialog类,而是使用了DialogFragment,其本质就是个Fragment。

1.1K20

Android技能树 — Fragment总体小结

因为最近的APP开发,使用的是单Activity + 多Fragment的方式,不同于以前基本界面都是Activity的方式,所以Fragment用了很多,想到自己以前也写了很多相关的基础知识,Fragment...2.1 FragmentManager相关 1. getFragmentManager(): 获取Fragment父容器的管理器,但是现在该方法在Activity中已经被标记不推荐使用了。...和FragmentStatePagerAdapter,他们的区别我们可以看具体的源码: FragmentPagerAdapter源码: public abstract class FragmentPagerAdapter...可以大概看下其他作者文章介绍: Fragment调用setRetainInstance的原理 5.2 类似RxPermission用于处理回 RxPermission里有一个Fragment用于分发权限回...DialogFragment: 我们知道现在大家已经很少使用了Dialog类,而是使用了DialogFragment,其本质就是个Fragment。

19410

Android基础:Fragment,看这篇就够了 ( 下 )

但是一般来说,通常都会使用PagerAdapter的两个子类:FragmentPagerAdapter和FragmentStatePagerAdapter作为ViewPager的适配器,他们的特点是界面是...一般都使用support v4中的FragmentPagerAdapter和FragmentStatePagerAdapter。...FragmentPagerAdapter和FragmentStatePagerAdapter需要重写的方法都一样,常见的重写方法如下: public FragmentPagerAdapter(FragmentManager...这里就实现类似微信那种效果,整个UI布局为:底部用PagerBottomTabStrip项目实现,上面是ViewPager,使用FragmentPagerAdapter。...懒加载的核心类,在该方法中,只有界面可见(getUserVisibleHint()==true)、UI准备好(mIsPrepared==true)、过去没做过数据加载(mIsInited==false)时,才需要loadData

1.9K00

精选Android中高级高频面试题:四大组件及Fragment原理

startActivity() ⽅ 法最终还是⽤的 startActivityForResult()。...以上系统可以直接调用getFragmentManager()来获取FragmentManager()对象,而3.0以下则需要调用getSupportFragmentManager() 来间接获取; 5、FragmentPagerAdapter...与FragmentStatePagerAdapter的区别与使用场景 参考回答: 相同点 : 二者都继承PagerAdapter 不同点 : FragmentPagerAdapter的每个Fragment...参考回答: Service的两种启动模式 startService():通过这种方式调用startService,onCreate()只会被调用一次,多次调用startSercie会多次执行onStartCommand...如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法不会多次创建服务及绑定。

1.7K00
领券