我有一个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
代替
int ResourceID = xmlParser.getAttributeIntValue(null, "asset", 0);
int ResourceID = xmlParser.getAttributeResourceValue(null, "asset", 0);
实际上不需要使用XML文件来获取可绘制对象的资源ID。在编译时,'R.java'文件被写入,其中包含资源id和实际资源之间的映射。要获取资源Id,只需使用:
int test1ResId = R.drawable.test1;
如果字符串为'test1'。获取资源id的正确方法是
getIdentifier (String name, String defType, String defPackage);
。
getResources().getIdentifier("test1","drawable","com.app");