Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法从xml文件中正确获取本地化字符串_Java_Android_String_Localization - Fatal编程技术网

Java Can';无法从xml文件中正确获取本地化字符串

Java Can';无法从xml文件中正确获取本地化字符串,java,android,string,localization,Java,Android,String,Localization,我一直在绞尽脑汁 我在values en文件夹中有一个本地化的strings.xml文件,其中包含以下示例字符串: @字符串/我的字符串 该字符串以英语存储以下文本:“我的字符串” 当通过布局访问本地化字符串时,它可以正常工作 当我试图在代码中更改它时,这就是我遇到问题的地方 我将字符串存储到一个字符串数组中,以供以后使用。“上下文”从我的活动传递到数据类,并与以下代码行一起使用: dataStrings=newstring[]{(String)context.getResources().ge

我一直在绞尽脑汁

我在values en文件夹中有一个本地化的strings.xml文件,其中包含以下示例字符串: @字符串/我的字符串

该字符串以英语存储以下文本:“我的字符串”

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

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

我将字符串存储到一个字符串数组中,以供以后使用。“上下文”从我的活动传递到数据类,并与以下代码行一起使用:

dataStrings=newstring[]{(String)context.getResources().getString(R.String.my_String)}

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

按钮[0].setText(数据字符串[0])

它显示:

@字符串/我的字符串

如何让它显示不带“@string/”的字符串,即正确的本地化字符串?

您可以运行;您不需要运行
getResources()
。然而,这应该和你现在做的一样,所以我不认为这是你问题的根源


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

谢谢Dave!在检查字符串内容之后,我注意到我使用了一个不正确的数组索引(该数组比发布的示例大得多)。另外,感谢大家对上下文对象的了解。有没有办法静态调用它,而不必在上下文中传递?我尝试了:Context.getResources().getString(R.string.my_string),但无法在非静态方法上使用is。