3

无论语言如何,我都有一个需要在应用程序上使用的默认字符串。

考虑到它应该独立于应用程序语言,我没有将字符串放在string.xml不同语言的任何文件中。相反,我在文件夹中创建了另一个myString.xml文件values,如下所示:

我的字符串.xml

<resources>
    <string name="myStringResource">This text shall be available
for the entire app no matter the language
</string>
</resources>

但现在我无法访问这个字符串。

这是错误的方法吗?如果是,那么我怎样才能实现上述解释的场景?

4

1 回答 1

12

要访问字符串,您可以按照 Berat 在他的回答中所说的那样进行操作。从使用 ID ( R.string.resName) 的代码和使用 @string 注释的 XML@string/resName获取字符串。

但是,当您使用代码(例如Java)时,您不能只使用ID。您还必须使用Context.getString(R.string.resName);来获取实际的字符串。因此,如果您想从代码中访问 String 并将其作为变量获取,请执行以下操作:

String res = context.getString(R.string.myStringResource);

我写context是因为它是上下文中的一个类。但是,您也可以使用 Activity 实例来获取字符串。如果您在活动中编写代码,则只需编写String res = getString(R.string.myStringResource);.

Activity 意味着扩展 Activity 或 AppCompatActivity (或在某个级别上扩展的类)

于 2017-09-14T08:49:13.037 回答