Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
AgentZ
0 / 0 / 1
Регистрация: 11.07.2013
Сообщений: 132
#1

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

16.07.2016, 17:02. Просмотров 369. Ответов 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 - Пользователи, например, из Украины, увидят английский текст или русский? Если да, это нужно тогда для каждой нужной страны создавать файл? (Наверное, глупый вопрос)) Но все же хочется именно английский ставить на дефолт, так как западных юзеров будет много. А для украины, беларуси и т.д. чтоб был русский
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2016, 17:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Присвоение переменной значения из ресурсов (Программирование Android):

Передача значения переменной Activity в другой класс
Есть активность: public class Menu extends Activity { OnClickListener lt;...

Присвоение значения одной переменной значению другой переменной
Здравствуйте! При загрузке приложение считывает значения узлов в xml файле...

Присвоение переменной среды значения переменной цикла
здравствуйте, у меня простой вопрос: for /l %%i in (10,10,100) do ( set /a...

Присвоение php переменной значения js переменной
Доброго времени суток, я только начинаю изучать JavaScript и у меня возник...

Присвоение значения переменной
Здравствуйте, подскажите пожалуйста, как мне присвоить значение переменной x,...

Присвоение значения переменной
Добрый день. Динамически создается кнопка в GroupButton Так же есть массив...

4
MrScrat
19 / 5 / 2
Регистрация: 28.09.2014
Сообщений: 79
16.07.2016, 22:50 #2
Лучший ответ Сообщение было отмечено AgentZ как решение

Решение

Передавай в этот класс контекст, используя который, сможешь работать с ресурсами.
1
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
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
1
AgentZ
0 / 0 / 1
Регистрация: 11.07.2013
Сообщений: 132
17.07.2016, 08:54  [ТС] #4
MrScrat, Спасибо! Чет я не догадался в контекст

fraley, Собственно, я так и делаю, как Вы говорите. И по ссылке как раз то, что мне и нужно, но это никак не отменяет моего вопроса по поводу строковых ресурсов в переменные =)
0
Alexvp
111 / 75 / 8
Регистрация: 03.08.2014
Сообщений: 380
17.07.2016, 11:37 #5
Цитата Сообщение от AgentZ Посмотреть сообщение
Но все же хочется именно английский ставить на дефолт, так как западных юзеров будет много. А для украины, беларуси и т.д. чтоб был русский
Вам же уже подсказали - почитайте про локализацию приложений. Да, для каждого языка придется делать свой файл локализации. Если для какого-нибудь языка нет, то будет подставлен вариант по умолчанию. Язык определяется по настройкам смартфона. Для украинского, белорусского и других сделайте файл локализации с русским текстом.
1
17.07.2016, 11:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2016, 11:37
Привет! Вот еще темы с решениями:

Присвоение значения переменной
Подскажите пожалуйста как сделать так, что бы по нажатию определенной клавиши...

Присвоение переменной значения из БД
Всем привет. Как из таблицы взять значение и присвоить его переменной? Вот код:...

Присвоение значения переменной
Требуется считать пароль, и если он совпадает, то активировать кнопку ОК Если...

Присвоение значения переменной
Добрый день! Я начал изучать wpf c# , но никак не могу найти пример того, как...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru