gpt4 book ai didi

android - XmlResourceParser 实现

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

我需要从服务器动态加载 xml 布局。 LayoutInflater 具有使用 XmlPullParser 的膨胀方法。我已经尝试过了,但它不起作用。

查看 Android 源代码后发现,这些 inflate 方法是使用 XmlResourceParser 调用的。 Android 使用的实现是 XmlBlock.Parser,但这不是公共(public) API。

是否有我可以使用的 XmlResourceParser 公共(public)实现?

最佳答案

您可以使用 Android documentation 中描述的传统 XmlPullParser :

InputStream yourRemoteLayout = ...;
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(yourRemoteLayout, "someEncoding");
AttributeSet attributes = Xml.asAttributeSet(parser);

请参阅 XmlPullParser documentation 中的说明了解更多详情。


编辑:来自 LayoutInflater#inflate()文档:

Important   For performance reasons, view inflation relies heavily on pre-processing of XML files that is done at build time. Therefore, it is not currently possible to use LayoutInflater with an XmlPullParser over a plain XML file at runtime.

我猜,如果 Android 自己只依赖于预处理资源,也许您应该自己实现 LayoutInflater.Factory2

关于android - XmlResourceParser 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641798/

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