Android 如何在viewpager中动态创建片段
当我们在viewpager中使用fragment时,我们总是在适配器调用构造函数时添加fragment。因此,当Activity调用onCreate()时,所有片段都将同时构造和调用onCreate()。 但是当我们滑进去的时候,我想构建这个片段。我应该怎么做? 例如: 我有4个片段:片段1,片段2,片段3,片段4。 首先,viewpager将创建fragment1,当我们滑入下一个片段(右滑)时,viewpager将创建fragment2,fragment2将调用它onCreate()。 我怎样才能做到 非常感谢你的帮助,很抱歉我的台球英语,我不知道我有没有解释清楚这个问题。Android 如何在viewpager中动态创建片段,android,android-fragments,Android,Android Fragments,当我们在viewpager中使用fragment时,我们总是在适配器调用构造函数时添加fragment。因此,当Activity调用onCreate()时,所有片段都将同时构造和调用onCreate()。 但是当我们滑进去的时候,我想构建这个片段。我应该怎么做? 例如: 我有4个片段:片段1,片段2,片段3,片段4。 首先,viewpager将创建fragment1,当我们滑入下一个片段(右滑)时,viewpager将创建fragment2,fragment2将调用它onCreate()。 我怎
再次感谢。您可以将片段的创建移动到适配器中的getItem()方法,并返回新创建的片段。我的答案可能有点欠缺,但我相信有人可以完成它。
因此,您可以做的只是在活动的onCreate()中创建一个片段。实现onScrollChanged()函数,并尝试使用getScrollX()跟踪用户与屏幕的确切位置,只需在滚动到屏幕一侧时执行一些“如果”语句即可删除/添加片段。如您所述,viewpager实际上会立即加载片段(onCreate和onResume)。如果您打算在显示下一页之前执行某些操作,此链接可能会为您提供另一种执行方法。
只要在
getItem
方法中返回您的片段
(我假设您使用的是FragmentPagerAdapter
),我只想在片段显示时调用onCreate()。这样我就可以动态请求数据。