LayoutInflater
抽象类的inflate方法具有带ViewGroup
根的inflate方法的第二个参数。从文档中,它被称为“可选视图,作为生成的层次结构的父级。”
有人可以举例说明如何使用此参数吗?那你会放在那里? ViewGroup
可以是任何类型的布局,例如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文件的预处理。因此,目前无法在运行时使用LayoutInflater
和XmlPullParser
的普通XML文件。
参数 解析器XML dom节点,包含视图层次结构的描述。
root可选视图,作为生成的层次结构的父级。 返回 膨胀层次结构的根视图。如果提供了root,则这是根视图;否则它是膨胀的XML文件的根。
答案 0 :(得分:2)
inflate方法返回膨胀的xml的父视图
如果您未通过根ViewGroup,膨胀的xml根视图 将被退回
如果您通过了根ViewGroup, root ViewGroup的根视图将会 被退回
答案 1 :(得分:1)
说实话,我不确定哪一部分会让你感到困惑。您可以传入任何ViewGroup,成为您动态创建的视图的父级。
例如:
private static View mView = inflater.inflate(R.layout.fragment_featured, container, false);
这会使容器内fragment_featured xml文件中包含的布局膨胀(作为父级)。容器ViewGroup的类型取决于您。