Как получить строку из R.string по имени

В общем случае, когда вы находитесь в контексте Activity, это выглядит так:

При этом вызов getResources() в этом контексте и необязателен, т.е. работает и так:

Если вы находитесь вне контекста Activity, то можно получить контекст приложения и через него уже выполнить метод getString().

Чтобы контекст приложения всегда был «под рукой», прибегают к следующему лайф-хаку: расширяют класс Application и сохраняют ссылку на контекст. После запуска приложения, переменная оказывается рассчитана и всегда доступна для других классов.

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

Написать комментарий

Мало букафф? Читайте есчо !

Захват контекста приложения в android/kotlin

Март 5, 2023 г.

Иногда в пользовательском классе требуется получить доступ к контексту приложения. Можно использовать метод внедрения зависимостей, но именно для этой задачи мне нравится подход с использованием статического хранилища. Идея заключается в том, ...

Читать

Анимированный градиент в ActionBar

Октябрь 23, 2022 г.

Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin. Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable ...

Читать

 

Комментарии к «Как получить строку из R.string по имени»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: