Android片段生命周期

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

解决方法:

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

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

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

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

上一篇:python – 使用SoftBank库的Pepper制图和导航


下一篇:【React-native】react-native + react-navigation 实现更换皮肤完全教程