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

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

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

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

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

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

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

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

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

Март 5, 2023 г.

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

Читать

Сохранение файла в Downloads Android

Ноябрь 5, 2022 г.

Задача - создать файл в каталоге Downloads из вашего приложения на платформе Android. Пусть это будет какой то текстовый файл, который наше приложение умеет генерировать. Формат файла - XML. Наша задача решается по-разному для андроидов 10+ ...

Читать

 

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

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



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