Android片段生命周期

Hoa*_*Lam 3 navigation tabs android fragment

我有一个带有3个导航标签的操作栏:片段1,片段2和片段3.现在,我想在选择片段3时执行任务,因此我将任务代码放在onCreateView()方法中.但是,我发现Fragment 3没有完成任务,这意味着没有调用onCreateView()方法.(我通过记录来检查).其他奇怪的事情是: - 当我滑动时:F2-> F3:任务不起作用. - 当我滑动时:F1-> F2-> F3:任务工作.(调用onCreateView()方法)我不知道为什么当我从F1滑动到F3时为什么调用F3的onCreateView()方法?有什么想法吗?

pde*_*d59 5

来自tyczj的评论是正确的,但它没有解决问题.

在你的F3中,只需覆盖setUserVisibleHint(boolean),当boolean为true时,意味着F3现在在ViewPager.请注意,您可以依赖此方法,因为您正在使用ViewPager,并且在显示片段时正确设置用户可见提示.

当您不使用ViewPager时,除非在知道片段可见时显式调用该方法,否则不能依赖此方法.

编辑:setUserVisibleHint()不是由ViewPager调用,而是由FragmentPagerAdapter调用.