从 Android 中的 "values" 文件夹获取字符串资源

Get a string resource from "values" folder in Android

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

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

myString.xml

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

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

这样做的方法不对吗?如果是,那么我怎样才能实现上面解释的场景?

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

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

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

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

Activity 表示扩展 Activity 或 AppCompatActivity(或在某种程度上扩展的 class)