【问题标题】:obtain ViewGroup inside Fragment.onCreate() method在 Fragment.onCreate() 方法中获取 ViewGroup
【发布时间】:2014-01-23 12:24:55
【问题描述】:

有一种方法可以在 Fragment.onCreate() 方法中获取 ViewGroup,或者我可以在 onCreateView 中获取?

我想在 onCreateView 方法之前初始化一些组件,所以我需要 viewgroup 来获取视图

【问题讨论】:

  • onCreateView 之前没有ViewViewGroup。您可以在 onCreateView 中扩展您的视图并在该方法中初始化您的字段。

标签: android android-fragments viewgroup


【解决方案1】:

要获取片段的根视图,您可以调用 getView()

  /**
     * Get the root view for the fragment's layout (the one returned by {@link #onCreateView}),
     * if provided.
     * 
     * @return The fragment's root view, or null if it has no layout.
     */
    public View getView() {
        return mView;
    }

但这将返回 null 直到 onCreateView 完成。 (正如尼克指出的)

在FragmentManger源码中可以看到mView是通过onCreateView的用法设置的:

f.mView = f.onCreateView(f.getLayoutInflater(f.mSavedFragmentState),
                container, f.mSavedFragmentState);

你能详细说明为什么要在 oncreateview 之前初始化一些东西吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    相关资源
    最近更新 更多