我应该在Fragment中编码它只会运行一次 - android

时间:2014-02-04 10:13:48

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

我在android中使用Swipeable Views实现Tab Layout。为了实现我跟着

AndroidHive

Tabs and swipe views

但两者兼而有之,我面临同样的问题。我有3个片段,但是当我的应用程序运行时,第1个和第2个onCreateView的{​​{1}}被调用而不是第1个片段。当我滑动并转到第二个片段时,将调用onCreateView of 3rd Fragments。 所以,无论我在第二个片段中编码,都在第一个片段视图中执行。我研究并发现它确实将下一个片段保存到内存中以获得流畅的动画效果。但我想知道,我将在片段中编码,以便它只执行一次或如何限制Fragment方法只被调用一次。有什么可以解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

  

系统在创建片段时调用此方法。在您的实现中,您应该在片段暂停或停止时初始化要保留的片段的基本组件,然后重新开始。

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

有关详情,请查看Fragment's lifecycledocumentation

答案 1 :(得分:0)

尝试使用静态布尔变量。然后使用if-else。