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

时间:2017-09-14 08:40:16

标签: android resources string.xml

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

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

myString.xml

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

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

这样做是错误的吗?如果是,那么我怎样才能实现上述情况呢?

1 个答案:

答案 0 :(得分:6)

要访问Strings,就像Berat在答案中所说的那样。从使用ID(R.string.resName)的代码和使用@string注释的XML:@string/resName获取字符串。

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

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

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

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