无法正确获取xml文件中的本地化字符串

时间:2009-12-23 14:48:06

标签: java android string localization

我一直在用这个绞尽脑汁......

我在一个带有此示例字符串的values-en文件夹中有一个本地化的strings.xml文件: @串/ my_string

该字符串具有以英文存储的以下文本:“My String”

通过布局访问本地化字符串时,它可以正常工作。

当我尝试在代码中更改它时,这就是我遇到问题的地方。

我将字符串存储到字符串数组中以供以后使用。 'context'从我的活动传递到数据类,并与这行代码一起使用:

dataStrings = new String [] {(String)context.getResources()。getString(R.string.my_string)};

稍后,我尝试显示此字符串,如下所示:

键[0] .setText(dataStrings [0]);

显示:

@串/ my_string

如何让它显示没有'@ string /'的字符串,正确的本地化字符串?

1 个答案:

答案 0 :(得分:2)

您可以运行getString() directly on the Context object;您无需运行getResources()。但是,这应该和你现在做的一样,所以我不认为这是你问题的根源。

首先要确认的是,您认为正在发生的事情正在发生。使用调试器检查buttons[0]是否包含"@string/my_string",还是尝试使用硬编码值调用setText(),以确保文本实际上是在正确的按钮上更新 - 例如buttons[0].setText("StackOverflow!");