java - 有没有办法在Android运行时任意加载资源?

标签 java xml android resources runtime

我的 Android 应用程序中有一些 XML 资源。每个都有不同的名称,如“bicycle.xml”和“car.xml”。我想知道是否有一种方法可以在运行时根据条件加载资源。

举个例子... 假设我在我的应用程序中输入了文本。当用户输入“bicycle”时,我的应用程序可以通过该名称查找 XML 资源,解析并加载它。而如果他们输入“汽车”,他们将以来自其他 XML 文件的数据结束。

到目前为止,我注意到要加载资源,您必须使用自动生成的“R”类,这限制了您在编译时对资源进行硬编码。

最佳答案

I've noticed so far that to load resources, you have to use the autogenerated "R" class, which restricts you to hard-coding resources at compile time.

您可以使用 Resources#getIdentifier() 在运行时通过名称和类型查找资源的 ID。这使用针对 R 类的反射,因此相对昂贵。要么不要做太多,要么缓存结果。

关于java - 有没有办法在Android运行时任意加载资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398264/

相关文章:

java - 给出一个函数作为参数

asp.net - RSS 的最佳扩展是什么?

java - 设备重启后检索HashMap

java - 如何验证输入的手机号码?

android - 如何使任何 View 背景透明?

java - 选择要使用哪个 fragment 的 Android (Java) Activity

Java GUI 动态添加按钮

java - 在Linux环境中用Java计算直到午夜的分钟数

xml - 使用 Delphi XE8 进行 XSLT 转换的替代方案

xml - 使用 colspec、namest 和 nameend 的 xsl cals 表 : span cells,