Android XML Получение идентификатора ресурса (целое число) из XML - PullRequest
4 голосов
/ 19 октября 2011

У меня есть 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);

Ответы [ 2 ]

2 голосов
/ 19 октября 2011

На самом деле вам не нужно использовать файл XML для получения идентификатора ресурса вашего объекта.При компиляции записывается файл «R.java», который содержит сопоставления между идентификаторами ресурсов и фактическими ресурсами.Чтобы получить идентификатор ресурса, просто используйте:

int test1ResId = R.drawable.test1;
1 голос
/ 19 октября 2011

, если у вас есть строка «test1».Правильный способ получения идентификатора ресурса:

getIdentifier (String name, String defType, String defPackage);

Например.

getResources().getIdentifier("test1","drawable","com.app"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...