Не удается правильно получить локализованные строки из файлов XML - PullRequest
0 голосов
/ 23 декабря 2009

Я ломал голову этим ...

У меня есть локализованный файл strings.xml в папке values-en со следующей строкой примера: @ Строка / my_string

В строке хранится следующий текст на английском языке: "My String"

При доступе к локализованной строке через макет она работает нормально.

Когда я пытаюсь изменить это в коде, вот где я получаю проблемы.

Я сохраняю строку в массив строк для последующего использования. «Контекст» передается из моей деятельности в класс данных и используется с этой строкой кода:

dataStrings = new String [] {(String) context.getResources (). GetString (R.string.my_string)};

Позже я пытаюсь отобразить эту строку, вот так:

Кнопки

[0] .setText (dataStrings [0]);

Отображается:

@ строка / my_string

Как мне заставить его отображать строку без '@ string /', правильной локализованной строки?

1 Ответ

2 голосов
/ 23 декабря 2009

Вы можете запустить getString() непосредственно на объекте Context ; вам не нужно запускать getResources(). Тем не менее, это должно делать то же самое, что вы делаете сейчас, поэтому я не думаю, что это является источником вашей проблемы.

Первое, что нужно подтвердить, это то, что, по вашему мнению, происходит. Либо используйте отладчик, чтобы проверить, что buttons[0] содержит "@string/my_string", либо попробуйте вызвать setText() с жестко заданным значением, чтобы убедиться, что текст действительно обновляется на нужной кнопке - например, buttons[0].setText("StackOverflow!");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...