Ссылка на значение INTEGER строкового ресурса в XML

Можно ли ссылаться не на представленную строку, а на целочисленный ключ ресурса в xml?

<string name="first_string">First! :-D</string>
<string name="second_string">Second :(</string>

<integer-array name="something">
    <item>@string/first_string</item>
    <item>@string/second_string</item>
</integer-array>

Это например не работает, потому что @string/first_string решено First! :-Dвместо ключа ресурса (например, 0x7f0c0010). Есть ли вообще способ получить к этому доступ?

2 ответа

Одна вещь, которая имеет такой же эффект, как помещение ключей в массив XML, - это доступ к нему в Java с obtainTypedArray вместо getIntArray или же getStringArray,

typedArray = getResources().obtainTypedArray(R.array.something);
int id = typedArray.getResourceId(0, -1); // 1st param: position, 2nd: default value

if (id == R.string.first_string);  // true
if (id == R.string.second_string); // false

Надеюсь, что это помогает кому-то! Для меня (op) это, похоже, совсем не помогает, так как я не могу получить доступ к сохраненным настройкам таким образом, поэтому я нуждался в нем непосредственно в XML, если это вообще возможно.

В Java у вас есть целочисленные значения в сгенерированном R.class вашего проекта.

Например:

int value = R.string.first_string;

В XML это невозможно получить.

Другие вопросы по тегам