Android 来自 xml 的本地化字符串

Android localization strings from xml

我的 res 文件夹中有 xml 文件夹,文件结构如下:

    <questions>
        <question
            number="1"
            text="my string" 
            numberTwo="1" />
         ...
    </questions/

是否可以不在这里对字符串进行硬编码并使用@string/...资源,因为我真的需要在这里进行本地化?

你可以

text="mystring" 在您的 xml 文件中

<string name"mystring">lalala</string> 在您的 strings.xml 中(可能在其他文件中本地化,例如在文件夹值中-de.xml)

然后在你的代码中你可以这样做:

int stringId = getResources().getIdentifier("mystring", "string");
String string = getString(stringId); // that will be "lalala"

另一种方法是将 xml 文件完全本地化在文件夹 xml-de 中,但这会导致一些文本重复。

在string.xml ->lalala 在你的strings.xml ->文件夹 values-de.xml 然后在你的代码中你可以在 Activity:

String AppName=getResources().getString(R.string.app_name);

而在 Fragmetn

String AppName=getActivity().getResources().getString(R.string.app_name);