我的 res
文件夹中有 xml
文件夹,文件结构如下:
<questions>
<question
number="1"
text="my string"
numberTwo="1" />
...
</questions/
那么是否可以不在这里硬编码字符串并使用 @string/... 资源,因为我真的需要在这里进行本地化?
最佳答案
你可以拥有
text="mystring"
在你的 xml 文件中
和<string name"mystring">lalala</string>
在您的 strings.xml 中(可能在其他文件中本地化,例如在文件夹 values-de.xml 中)
然后在您的代码中您可以:
int stringId = getResources().getIdentifier("mystring", "string");
String string = getString(stringId); // that will be "lalala"
另一种方法是将您的 xml 文件完全本地化在文件夹 xml-de 中,但这会导致一些文本重复。
关于来自 xml 的 Android 本地化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354981/