我确实有很多语言具体的资源.在我的
Android应用程序中有一点我得到一个资源值,需要将该值转换为匹配的ID.该值不一定在当前语言的特定于语言的文件(en / de / …)中.它在那里的某个地方,它是独一无二的.
阅读文档和这个线程“How to get a resource id with a known resource name?”后,我以为getIdentifier(String name,String defType,String defPackage)是正确的方法,但是我无法使它工作.结果始终为“0”.
此代码是活动的一部分,我在Android 2.2上.
Android可能不会将所有资源文件纳入考虑范围,并且仅搜索当前的特定语言文件?
例如(当前的语言是“de”):
File: values-en/strings.xml
A first text
A second text
File: values-de/strings.xml
Ein erster Text
Ein zweiter Text
// 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);
使事情清晰我不想错过使用字符串资源作为数据库.这只是在极少数情况下发生的一部分.