Проблемы с доступом к моим элементам strings.xml ... я получил числа, а не строковое значение - PullRequest
1 голос
/ 12 декабря 2010

Я нашел эту проблему некоторое время назад, но я решаю ее, используя это: getString () или это: getResources (). GetString ()

, но теперь, в этом случае, это не работаетЯ думаю, это потому, что мне нужно получить строковые значения в NON ANDROID ACTIVITY CLASS.Мне нужны значения ресурсов в классе удаленного соединения, который не расширяет какие-либо действия или службы.

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

это код, где я получаю ошибку (она получает целое число, а не строковое значение)

String a =R.string.totalpermission;

Ответы [ 3 ]

4 голосов
/ 12 декабря 2010

Посмотрите на эти два ответа (одинаковые XD):

Просто совет: попробуйте прочитать некоторые основные понятия ... кажется, вы не понимаете, что такое класс R, икак это использовать.Поверь мне, ты тратишь меньше времени на изучение, чем пытаясь понять, как все работает.

3 голосов
/ 13 декабря 2010

Я добавлю кое-что к существующим ответам, так как я нашел это очень полезным.

Чтобы получить ваши строки, вы должны использовать контекст. Ваша деятельность будет работать просто отлично.

String string = getString(R.string.myString);

Но если у вас есть что-то более сложное ... например

R.string.result -> "You %1$s %2$d cats"

String result = getString(R.string.result, killed ? "killed": "saved", count);

Это даст вам такой результат: Вы спасли 10 кошек или убили 2 кошек ... и так далее. Вы можете передавать параметры, и позиционные аргументы в строках заменяются вашими аргументами в getString.

1 голос
/ 12 декабря 2010

Все ресурсы Android ссылаются через идентификатор ресурса, например R.string.totalpermission.Вы можете видеть эти числа в R.java (хотя нет никаких причин делать это).

В случае строк вы можете легко получить те, которые используют Context.getString.Бонус: вы даже можете передавать необязательные аргументы и таким образом добавлять динамические строки.У вас всегда есть контекст - как вас зовут?Если у вас действительно нет контекста, вы можете создать его для пакета, в котором находятся ваши ресурсы.

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