Ссылка на значение 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 это невозможно получить.