У меня действительно много специфичных для языка ресурсов.В моих приложениях для Android есть один момент, когда я получаю значение ресурса и мне нужно преобразовать это значение в соответствующий идентификатор.Значение не обязательно находится в специфичном для языка файле для текущего языка (en / de / ...).Это где-то там ... и уникально.
После прочтения документации и этой темы " Как получить идентификатор ресурса с известным именем ресурса? " Я думал, что getIdentifier(String name, String defType, String defPackage)
это правильный путь, но я не могу заставить его работать.Результат всегда "0".
Этот код является частью действия, и я работаю на Android 2.2.
Возможно ли, что Android не учитывает все файлы ресурсов ивыполняет поиск только в текущем языке?
Например (текущий язык - "de"):
File: values-en/strings.xml
<resources>
<string name="txt_afirsttext">A first text</string>
<string name="txt_asecondtext">A second text</string>
</resources>
File: values-de/strings.xml
<resources>
<string name="txt_afirsttext">Ein erster Text</string>
<string name="txt_asecondtext">Ein zweiter Text</string>
</resources>
// Now I want to find the ID to this "en" text ...
String testValue = "A second text";
int i = this.getResources().getIdentifier(testValue, "strings", this.getPackageName());
// ... and translate it to the actual "de" language
String translatedValue = this.getResources().getString(i);
Чтобы все было понятно.Я не хочу пропустить использование строковых ресурсов в качестве базы данных.Это только одна часть, которая встречается в очень редких ситуациях.