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

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

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

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

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

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

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

Создание экземпляра класса по его имени

Март 14, 2023 г.

Получение доступа к классу в режиме рантайм добавляет известной гибкости. Одна из типичных задач - создание экземпляра класса по его имени. В котлин это делается вот так: [crayon-69ffb076ce59b964532482/] Есть несколько нюансов/рекомендаций. ...

Читать

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

Март 5, 2023 г.

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

Читать

Как изменить цвет фона приложения

Январь 14, 2025 г.

Когда вы проектируете макет активити в android studio вы можете у корневого контейнера задать цвет фона выбрав соответствующее значение атрибута android:background. Как в примере ниже - черный фон [crayon-69ffb076ce99e567457180/] Это будет ...

Читать

Как в Kotlin отключить upper case у компонента Button

Март 20, 2023 г.

Компонент Button использует material дизайн и имеет некоторые предопределенные стили, которые иногда хочется изменить. Мне чаще всего требуется убрать UPPERCASE с текста кнопки. На старте шаблон компонента выглядит вот так: [crayon-69ffb076ceb17801490287/] ...

Читать
 

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

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



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