Android字符串变量在R.java中总是最终的

时间:2012-02-07 18:39:18

标签: java android variables r.java-file

我正在构建一个简单的java / android应用程序,并且我正在尝试更改存储在资源文件中的字符串(用作按钮文本)的值。

每当我尝试更改该值(使用R.string。)时,我都会收到错误。这是因为在这个文件(R.string one)中,变量是“final”。每当我尝试编辑文件时,它都会将其恢复为原始版本。

如果有办法阻止这个字符串是最终的,还是有另一种方法来传递类似这样的text属性的值?

3 个答案:

答案 0 :(得分:5)

不要更改字符串的值,更改按钮的文本值。

R是自动生成的,请勿对其进行编辑。

答案 1 :(得分:2)

您无法直接修改R文件(它是作为构建过程的一部分自动生成的)。

如果您想更改按钮的标签,可以在代码中进行设置:

myButton.setText(R.string.myString)

如果您想将其更改为其他字符串,您可以随时将其设置为另一个预定义字符串,如下所示:

myButton.setText(R.string.myOtherString)

R类将自动从strings.xml文件(应该在res \ values文件夹中)引用Strings

答案 2 :(得分:1)

资源是静态的。期。 R / Class是从您的xml资源声明生成的。如果您想存储可编辑的值,请使用首选项。