Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
AgentZ
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 105
#1

Присвоение переменной значения из ресурсов - Android

16.07.2016, 17:02. Просмотров 175. Ответов 4
Метки нет (Все метки)

Столкнулся с такой проблемой.
Находясь в активити, я могу присвоить значение переменной таким способом:

Java
1
String name = this.getString(R.string.name);
Но у меня текстовый массив с последующим присвоением массиву значений находится в отдельном классе, который не является Активити.. И такой способ не работает

Например, у меня есть класс "Zet", его содержимое:

Java
1
2
3
4
5
6
public class Zet {
 
String s1 = "Наименование 1"; //Вот тут я хочу использовать @String, так как приложение переводится на несколько языков
String s2 = "Наименование 2"; // то же самое. и так далее много переменных
 
}
Метод getString() не работает внутри этого класса. Пару часов пытался найти решение, но уже выбился из сил =(

Добавлено через 4 минуты
И еще в догонку вопрос хочу задать про перевод String.xml - Если по дефолту будет стоять именно английский язык, и будет еще файл -ru - Пользователи, например, из Украины, увидят английский текст или русский? Если да, это нужно тогда для каждой нужной страны создавать файл? (Наверное, глупый вопрос)) Но все же хочется именно английский ставить на дефолт, так как западных юзеров будет много. А для украины, беларуси и т.д. чтоб был русский
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2016, 17:02     Присвоение переменной значения из ресурсов
Посмотрите здесь:

Android смена ресурсов
Получить массив из ресурсов Android
Android Хранение ресурсов
Android Содержимое переменной в качестве имени переменной
Android Обращение к файлу ресурсов
Взять массив из ресурсов Android
Android Сравнение строковых ресурсов
Использование стандартных ресурсов Android
Android Перебор id ресурсов в цикле
Android Использование ресурсов классами
Android Установка ресурсов от строки
Android Загрузка ресурсов из модуля

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrScrat
19 / 5 / 1
Регистрация: 28.09.2014
Сообщений: 79
16.07.2016, 22:50     Присвоение переменной значения из ресурсов #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Передавай в этот класс контекст, используя который, сможешь работать с ресурсами.
fraley
93 / 93 / 33
Регистрация: 24.05.2015
Сообщений: 277
17.07.2016, 00:09     Присвоение переменной значения из ресурсов #3
AgentZ, просто сделайте переменные в классе статическими.
Java
1
2
3
4
5
6
public class Zet {
 
public static final String STR1 = "Наименование 1";
public static final String STR2 = "Наименование 2"; 
 
}
А обращение к ним через имя класса. Но вы уверены что это то что вам надо?
Возможно вам нужна локализация приложения? Если да, то почитайте:
http://developer.alexanderklimov.ru/android/locale.php
AgentZ
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 105
17.07.2016, 08:54  [ТС]     Присвоение переменной значения из ресурсов #4
MrScrat, Спасибо! Чет я не догадался в контекст

fraley, Собственно, я так и делаю, как Вы говорите. И по ссылке как раз то, что мне и нужно, но это никак не отменяет моего вопроса по поводу строковых ресурсов в переменные =)
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
17.07.2016, 11:37     Присвоение переменной значения из ресурсов #5
Цитата Сообщение от AgentZ Посмотреть сообщение
Но все же хочется именно английский ставить на дефолт, так как западных юзеров будет много. А для украины, беларуси и т.д. чтоб был русский
Вам же уже подсказали - почитайте про локализацию приложений. Да, для каждого языка придется делать свой файл локализации. Если для какого-нибудь языка нет, то будет подставлен вариант по умолчанию. Язык определяется по настройкам смартфона. Для украинского, белорусского и других сделайте файл локализации с русским текстом.
Yandex
Объявления
17.07.2016, 11:37     Присвоение переменной значения из ресурсов
Ответ Создать тему
Опции темы

Текущее время: 06:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru