我一直在用这个绞尽脑汁......
我在一个带有此示例字符串的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 /'的字符串,正确的本地化字符串?
答案 0 :(得分:2)
您可以运行getString()
directly on the Context
object;您无需运行getResources()
。但是,这应该和你现在做的一样,所以我不认为这是你问题的根源。
首先要确认的是,您认为正在发生的事情正在发生。使用调试器检查buttons[0]
是否包含"@string/my_string"
,还是尝试使用硬编码值调用setText()
,以确保文本实际上是在正确的按钮上更新 - 例如buttons[0].setText("StackOverflow!");