我的 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/