Android 片段初始化时未调用onCreate

Android 片段初始化时未调用onCreate,android,android-fragments,android-viewpager,android-fragmentactivity,Android,Android Fragments,Android Viewpager,Android Fragmentactivity,因此,我在viewpager中有一个片段,它包含在一个片段中,该片段正在初始化,如调试器中所示,但没有调用它的onCreate、onCreateView或任何此类方法。包含的活动有一个底部导航视图,包含4个这样的片段,这个问题只发生在1个这样的片段中 所有这些片段和ViewPager以及其中的片段都是在活动的oncreate上创建的。如果我在单击底部选项卡时将创建片段的逻辑移动到,这个问题将在上得到解决 这是怎么可能的?首次显示viewpager时,仅创建当前活动片段和两个直接相邻的片段。所以第

因此,我在viewpager中有一个片段,它包含在一个片段中,该片段正在初始化,如调试器中所示,但没有调用它的onCreate、onCreateView或任何此类方法。包含的活动有一个底部导航视图,包含4个这样的片段,这个问题只发生在1个这样的片段中

所有这些片段和ViewPager以及其中的片段都是在活动的oncreate上创建的。如果我在单击底部选项卡时将创建片段的逻辑移动到,这个问题将在上得到解决


这是怎么可能的?

首次显示viewpager时,仅创建当前活动片段和两个直接相邻的片段。所以第一页的片段,如果你“向左滚动”显示的页面片段,以及当你“向右滚动”显示的页面片段。第四个片段将在放置到下一个邻接位置时创建


因此,如果在viewpager中有片段a、b、c、d,比如-a-[b]-c-d,其中b是第一个可见页面,那么启动时只会创建a、b和c。当您滚动到c-a-b-[c]-d时,将调用onCreate for fragment d。

您可以通过在视图寻呼机适配器上设置屏幕外页面限制来控制启动活动时预加载的页面/片段数。像这样

  • mViewPager.setOffScreenPageLimit(限制)
若将limit设置为0,则只加载第一个片段


需要更多细节来了解您的问题。您所面临的问题无法通过您提供的信息来理解。

您应该显示您的代码,没有itCheck onCreateView()很难发现问题 method@YogeshNikamPatil即使内部的片段没有调用CreateView,请提供设置viewpager和片段的代码,以及您认为可能导致问题的任何代码,请在此处发布,以便我们能更好地帮助您。您能给我们发送一些代码吗?我想您不理解这个问题。页面偏移量限制大于片段,因此4片段确实被调用并加载。它里面的片段只被初始化了,但没有调用onCreate。在片段可见之前调用它的onCreate()你想做什么?