从XML文件中获取资源ID(整数)的Android XML方法

4

我有一个XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<locations>
<location index="0" asset="@drawable/test1"></location>
</locations>

当我解析XML并尝试检索ResourceID时,它没有返回。
int ResourceID = xmlParser.getAttributeIntValue(null, "asset", 0);

所有 XML 中的其他值都被成功检索...我做错了什么?
编辑:我弄清楚了,我不想只获取一个整数。
而是使用

int ResourceID = xmlParser.getAttributeIntValue(null, "asset", 0);

it's

int ResourceID = xmlParser.getAttributeResourceValue(null, "asset", 0);
2个回答

2

您实际上不需要使用XML文件来获取可绘制资源的资源ID。在编译时会生成包含资源ID和实际资源映射的'R.java'文件。只需使用以下命令即可获取资源ID:

int test1ResId = R.drawable.test1;

1
是的,我会这样做,当我需要它们时加载位图 - 设计是从 XML 文件中获取资源 ID,然后使用它加载位图。 - GideonKain

1
如果您的字符串为'test1',获取资源ID的正确方法是:
getIdentifier (String name, String defType, String defPackage);

例如。

getResources().getIdentifier("test1","drawable","com.app"); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接