- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要从服务器动态加载 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/
我目前正在创建一个 Android 应用程序,我有一个供用户选择的列表,我希望旁边的每个项目都有一个图像。我已经为列表创建了一个适配器,并为列表创建了一个单独的 list_row 布局。 列表的实际数
我需要从服务器动态加载 xml 布局。 LayoutInflater 具有使用 XmlPullParser 的膨胀方法。我已经尝试过了,但它不起作用。 查看 Android 源代码后发现,这些 inf
当我需要访问已编译的 Android XML 资源时,我似乎无法使用 openRawResource(resId),因为它给了我一个已编译的二进制文件。 我发现获取 XML 的唯一方法是使用返回 Xm
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我创建了一个 XML 文件并将其放在我的“res”文件夹中。我决定使用 XmlResourceParser 来解析 XML 文件。 我的问题是,如何进入下一级别的元素?具体来说,如何访问子节点? 谢谢
目前正在尝试实现我的 iOS 应用程序的 Android 版本并在解析 XML 时遇到一些问题,其中文本包含单引号或双引号字符(它是外语词典应用程序)。 我的应用程序的所有数据都是从 XML 资源文件
我有一个应用程序,在某个阶段,我需要从服务器下载最新的 xml 文件并将其存储在内部存储中 (data/data/packagename/filename.xml)。我在网上搜索过,无法在运行时将文件
我的资源中有一个 XML 文件,如下所示(删除了其他阶段元素): Name Some description...
这是我 list 的一部分: ... ...
我需要解析AndroidManifest.xml检索通过 PackageManager 无法获得的一些附加信息. 我有以下代码: try { AssetManager assetManager
我对 java 和 android studio 很陌生。我尝试在 android 10 API 29 上下载 pdf 文件后打开它。当从 webview 链接单击文件链接时,它可以正常下载,但无法打
我计划将一些 XML 文件放入我的 res/xml 目录中,我想将这些文件加载到 Document 对象中(因为我当前在我的应用程序中使用这些文件,并且经常传递它们)。 正在做: XMLResou
我正在使用 XmlResourceParser 从元素中提取值。我使用了 msgBody= xmlResourceParser.nextText();,它从两个 Message 元素返回值,即 我很高
从我的 Android 应用拍照时出现异常。我使用了媒体插件 https://github.com/jamesmontemagno/MediaPlugin var file = await Cr
我收到这个错误。我是 android studio 的新手,我需要创建这个插件以便在运行时安装一个 apk 统一 错误 - 尝试在空对象引用上调用虚拟方法“android.content.Contex
我是一名优秀的程序员,十分优秀!