8

抽象类的 inflate 方法LayoutInflater具有作为ViewGrouproot 的 inflate 方法的第二个参数。从文档中,它被称为“作为生成层次结构的父级的可选视图”。

有人可以举例说明如何使用此参数吗?你会在里面放什么?AViewGroup可以是任何类型的布局,例如LinearLayout.

我不太明白如何处理这个参数。如果您正在膨胀的视图不是在此处输入的布局的一部分,那么它将给出错误。不明白它的目的。

更多来自文档:

public View inflate (XmlPullParser parser, ViewGroup root)

Added in API level 1 Inflate a new view hierarchy from the specified xml node. Throws InflateException if there is an error.

出于性能原因,视图膨胀在很大程度上依赖于在构建时完成的 XML 文件的预处理。因此,目前无法在运行时使用LayoutInflaterXmlPullParserXML 文件。

参数解析器 XML dom 节点包含视图层次结构的描述。

root 可选视图,作为生成的层次结构的父级。返回 膨胀层次结构的根视图。如果提供了 root,则这是根视图;否则它是膨胀的 XML 文件的根。

4

2 回答 2

4

inflate 方法返回膨胀 xml 的父 View

  • 如果您不传递根 ViewGroup, 则会返回 膨胀的 xml 根 View

  • 如果您传递根 ViewGroup,则将返回根 ViewGroup的根 View

于 2013-04-09T05:37:11.723 回答
1

老实说,我不确定其中的哪一部分让你感到困惑。您可以传入任何 ViewGroup,作为您动态创建的视图的父级。

例如:

private static View mView = inflater.inflate(R.layout.fragment_featured, container, false);

这将膨胀容器内的 fragment_featured xml 文件中包含的布局(作为父级)。容器 ViewGroup 的类型取决于您。

于 2013-04-09T04:44:42.520 回答