Я написал строку:
String Mess = R.string.mess_1 ;
чтобы получить строковое значение, но вместо возврата строки, он дает мне идентификатор типа целое число. Как я могу получить его строковое значение? Я упомянул строковое значение в string.xml
файле.
this.getString(R.string.some_id)
если вы уже вContext
(Деятельность или Служба).getResouces().getInteger(R.integer.my_value_in_xml)
В деятельности:
Если не в деятельности, но иметь доступ к контексту:
источник
this
пока вы находитесь в Activity. ПростоgetString()
позволит вам делать вещи.Я использую это:
источник
Resources.getSystem()
не дает вам ресурсы приложения, но только ресурсы Android. Он не должен использоваться для таких ресурсов, какstring
. Я использовал это решение, и приложение потерпело крах, бросив то,notfoundexception
что было трудно понять (поскольку ресурс существует вstrings.xml
).Кстати, в strings.xml также можно создавать строковые массивы примерно так:
И тогда из вашей деятельности вы можете получить ссылку так:
источник
Только для будущих ссылок.
В документации по ресурсам String говорится:
источник
Решение 1
Решение 2
источник
Во фрагментах вы можете использовать
источник
Если вы хотите добавить строковое значение к кнопке, например, просто используйте
Определенный текст в strings.xml выглядит так:
источник
Вы должны ссылаться на имя контекста перед использованием
getResources()
в Android.ИЛИ
источник
Вы можете использовать этот код:
источник
Если вы в деятельности, вы можете использовать
Если вы не в Деятельности, используйте это:
источник
подробности
задача
Шаг 1. Применение ()
Шаг 2. Добавьте расширение int
Применение
Результаты
источник
пока ты пишешь
R
. вы ссылаетесь наR.java
класс, созданный eclipse, используетеgetResources().getString()
и передаетеid
ресурс, из которого вы пытаетесь читать, внутриgetString()
метода.Пример :
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
источник
**
**
источник
Обновить
getString(R.string.some_string_id)
в обоихActivity
илиFragment
.Context.getString(R.string.some_string_id)
там, где у вас нет прямого доступа кgetString()
методу. КакDialog
.Проблема в том, что у вас нет
Context
доступа , как в вашемUtil
классе.Предположим ниже метод без контекста.
Теперь вы будете передавать
Context
в качестве параметра в этом методе и использоватьgetString().
Что я делаю
Какая? Это очень просто использовать в любом месте вашего приложения!
Итак, вот уникальное решение Bonus, с помощью которого вы можете получить доступ к ресурсам из любой точки мира
Util class
.Добавьте поле имени к вашему
manifest.xml
<application
тегу.Теперь тебе пора.
источник
getString (R.string.your_string) получить результат
источник
String myString = getResources().getString(R.string.here_your_string_name);
Теперь ваша строка скопирована в myString. Я надеюсь, что это будет работать для вас.
источник
Вы можете непосредственно прочитать значение, определенное в strings.xml:
и установить в переменную:
но мы можем определить строку в представлении:
источник