【问题标题】:How to create fragment dynamically in viewpager如何在 viewpager 中动态创建片段
【发布时间】:2015-09-02 10:22:04
【问题描述】:

当我们在viewpager中使用fragment时,我们总是在adapter调用构造函数时添加fragment。所以当actvitiy调用onCreate()时,所有的fragment都会同时构造和调用onCreate()。 但是我想在我们滑入时构建片段。我该怎么办? 例如: 我有 4 个片段:fragment1、fragmeng2、fragment3、fragment4。 起初,viewpager会创建fragment1,当我们滑入下一个fragment(右滑)时,viewpager会创建fragment2,fragment2会调用它onCreate()。 我怎样才能做到?

非常感谢您的帮助,对我的泳池英语感到抱歉,我不知道我是否已将问题解释清楚。 再次感谢。

【问题讨论】:

  • 只需在getItem 方法中返回您的Fragment(我假设您正在使用FragmentPagerAdapter

标签: android android-fragments


【解决方案1】:

您可以将片段的创建移动到适配器中的 getItem() 方法并返回新创建的片段。

【讨论】:

    【解决方案2】:

    我的答案可能有点欠缺,但我相信有人可以完成它。 所以你可以做的只是在活动的 onCreate() 中创建一个片段。实现函数 onScrollChanged() 并尝试使用 getScrollX() 跟踪用户所在的位置与屏幕的关系,并在您滚动到侧面时做出一些“if”语句来删除/添加片段。

    【讨论】:

      【解决方案3】:

      正如您所指出的,viewpager 实际上是一次加载片段(onCreate 和 onResume)。如果您的意图是在显示下一页之前执行某些操作,此链接可能会为您提供另一种执行此操作的方法。
      https://looksok.wordpress.com/2013/11/02/viewpager-with-detailed-fragment-lifecycle-onresumefragment-including-source-code/

      【讨论】:

      • 我只想在片段显示的时候调用onCreate(),这样我就可以动态请求数据了。
      猜你喜欢
      • 2020-12-27
      • 2017-08-03
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多