无论语言如何,我都有一个需要在应用程序上使用的默认字符串。
认为它应该独立于应用程序语言,我没有将字符串放在任何 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>
但现在我无法访问这个字符串。
这是错误的方法吗?如果是,那么我怎样才能实现上述解释的场景?
最佳答案
要访问字符串,您可以按照 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
因为它是 Context 中的一个类。但是,您也可以使用 Activity 实例来获取字符串。如果您在 Activity 中编写代码,则只需编写 String res = getString(R.string.myStringResource);
.Activity 意味着扩展 Activity 或 AppCompatActivity (或在某个级别上扩展的类)
关于java - 从 Android 中的 "values"文件夹获取字符串资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46214345/