Android строковая переменная всегда финальная в R.java - PullRequest
0 голосов
/ 07 февраля 2012

Я создаю простое приложение java / android и пытаюсь изменить значение строки (которая используется как текст кнопки), хранящейся в файле ресурсов.

Всякий раз, когда я пытаюсьизменив значение (используя R.string.), я получаю сообщение об ошибке.Это потому, что в этом файле (R.string), переменная является "конечной".Всякий раз, когда я пытаюсь отредактировать файл, он возвращает его к исходной версии.

Если есть способ, чтобы эта строка не была окончательной, или есть другой способ передать значения для свойства text чего-то подобного?

Ответы [ 3 ]

5 голосов
/ 07 февраля 2012

Не изменяйте значение строки, измените текстовое значение кнопки.

R генерируется автоматически, не редактируйте его.

2 голосов
/ 07 февраля 2012

Вы не можете изменить файл R напрямую (он создается автоматически как часть процесса сборки).

Если вы хотите изменить метку кнопки, вы можете установить ее в коде так:

myButton.setText (R.string.myString)

, есливы хотите изменить его на другую строку, вы всегда можете просто установить для нее другую предварительно определенную строку, например:

myButton.setText (R.string.myOtherString)

Класс R будетавтоматически создавать ссылки на строки из файла strings.xml (который должен находиться в папке res \ values)

1 голос
/ 07 февраля 2012

Ресурсы статичны.Период.И R / Class генерируется из ваших объявлений ресурсов XML.Если вы хотите хранить редактируемые значения, используйте настройки.

...