作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 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/
我是一名优秀的程序员,十分优秀!