gpt4 book ai didi

android - 如何知道 fragment 是否已经调用了 onCreateView()

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:54 25 4
gpt4 key购买 nike

我们都知道,当将 ViewPagerFragmentFragmentPagerAdapter 一起使用时,我们会加载 3 个 Fragment:可见的一个,并且在它的每一侧都有。

所以,如果我有 7 个 Fragments,我正在遍历它们以查看加载了其中的 3 个,我的意思是 onCreateView() 已经被调用了,我该如何确定呢?

编辑 Fragment 不必是 ViewPager 显示的那个,只是 onCreateView() 已经被调用了。

最佳答案

从逻辑上讲,如果调用了 onCreateView,这将是一个合理的测试:

myFragment.getView() != null;

假设您有对寻呼机中所有 fragment 的引用,迭代它们并检查它们是否有 View 。

http://developer.android.com/reference/android/app/Fragment.html#getView()

更新

以上答案假设您的 fragment 总是创建一个 View ,而不是无 View 的 fragment 。如果是,那么我建议像这样对 fragment 进行子分类:

public abstract class SubFragment extends Fragment
{
protected boolean onCreateViewCalled = false;

public boolean hasOnCreateViewBeenCalled()
{
return onCreateViewCalled;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup Container, Bundle state){
onCreateViewCalled = true;
return null;
}
}

请记住,如果其他子类也覆盖 onCreateView,则它们必须调用 super 或自己设置标志。

关于android - 如何知道 fragment 是否已经调用了 onCreateView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23808888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com