我正在构建一个简单的java / android应用程序,并且我正在尝试更改存储在资源文件中的字符串(用作按钮文本)的值。
每当我尝试更改该值(使用R.string。)时,我都会收到错误。这是因为在这个文件(R.string one)中,变量是“final”。每当我尝试编辑文件时,它都会将其恢复为原始版本。
如果有办法阻止这个字符串是最终的,还是有另一种方法来传递类似这样的text属性的值?
答案 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资源声明生成的。如果您想存储可编辑的值,请使用首选项。