【问题标题】:Where should I code in Fragment that it will run only once- android我应该在 Fragment 中的哪里编写它只会运行一次的代码 - android
【发布时间】:2017-06-05 11:59:09
【问题描述】:

我正在 android 中实现带有可滑动视图的选项卡布局。对于实施,我遵循了

AndroidHive

Tabs and swipe views.

但是对于两者,我都面临着同样的问题。我有 3 个片段,但是当我的应用程序运行时,第一个和第二个 FragmentonCreateView 被调用,而不仅仅是第一个片段。当我滑动并转到第二个片段时,会调用第三个片段的 onCreateView。 因此,无论我在第二个片段中编写什么代码,都将在第一个片段视图中执行。我研究并开始知道它恰好将下一个片段保存在内存中以实现流畅的动画。但我想知道,我将在片段中的哪里进行编码,以便它只执行一次,或者如何限制 Fragment getItem() 方法只被调用一次。有什么办法可以解决这个问题?

【问题讨论】:

  • 如果你有一些特定的代码你只想执行一次,你可以把它放在你的 ViewPager 的容器中。片段在移出范围时会被销毁以节省内存
  • 如何在 ViewPager 的容器中编码。你能举个例子吗?
  • ViewPager 在一个活动(或片段)中,对吧?您必须在该活动(或片段)的onCreate 上进行编码。
  • 你找到解决办法了吗?

标签: android android-fragments android-adapter android-tablelayout


【解决方案1】:

根据 Fragment 的文档,您可以实现 onCreate() link

系统在创建片段时调用它。在您的实现中,您应该初始化您希望在片段暂停或停止然后恢复时保留的片段的基本组件。

这应该可以解决您的问题,因为我猜您现在只使用可能被多次调用的onCreateView

更多信息您可以查看Fragment's lifecycledocumentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-20
    • 2011-10-08
    • 2019-02-27
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    相关资源
    最近更新 更多