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

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

Войти
Регистрация
Восстановить пароль
 
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 172
#1

Java. Занести переменные в массив - Android

15.11.2014, 10:53. Просмотров 526. Ответов 9
Метки нет (Все метки)

У меня есть много TextView, и к ним нужно обращаться по имени в зависимости от переменной int. Например если int=20,то значит нужно обратиться к text_view_20. Все TextView переменные называются text_view_*. Можно ли как-то всех их занести в массив, сделать массив переменных, а потом по номеру элемента массива искать? типо massiv[int-1] - вроде такого.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nakajinro
2 / 2 / 3
Регистрация: 15.11.2014
Сообщений: 17
15.11.2014, 11:27     Java. Занести переменные в массив #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
ArrayList widgets = new ArrayList();
for (int i = 0; i < youLength; i++) {
    widgets.add((TextView)findViewById(getResources().getIdentifier("text_view_" + i, "id", getPackageName())));
}
Если сделать как-то так. Чтобы точно i-тый элемент был i-тым в массиве
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 172
15.11.2014, 11:35  [ТС]     Java. Занести переменные в массив #3
А через подобную конструкцию можно обратиться к переменной не через массив, а напрямую по номеру(без заноса в массив)?
Тоже типо Переменная.((TextView)findViewById(getResources().getIdentifier("text_view_" + i, "id", getPackageName())));
Nakajinro
2 / 2 / 3
Регистрация: 15.11.2014
Сообщений: 17
15.11.2014, 11:37     Java. Занести переменные в массив #4
да можно и без заноса, главное привести к нужному типу
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 172
15.11.2014, 11:46  [ТС]     Java. Занести переменные в массив #5
А как писать-то? Ну вот если нужно в переменную text_view_15 занести текст и i=15. То есть сама конструкция мне не понятна. так что ли:
((TextView)findViewById(getResources().getIdentifier("text_view_" + i, "id", getPackageName()))).setText("занести текст");
Nakajinro
2 / 2 / 3
Регистрация: 15.11.2014
Сообщений: 17
15.11.2014, 11:55     Java. Занести переменные в массив #6
Да так
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 172
16.11.2014, 14:44  [ТС]     Java. Занести переменные в массив #7
А если я занесу их в массив все-же, то как обращаться?
Java
1
2
3
4
ArrayList widgets = new ArrayList();
for (int i = 0; i < youLength; i++) {
    widgets.add((TextView)findViewById(getResources().getIdentifier("text_view_" + i, "id", getPackageName())));
}
widgets[2].setText("123"). так правильно?
Nakajinro
2 / 2 / 3
Регистрация: 15.11.2014
Сообщений: 17
16.11.2014, 14:51     Java. Занести переменные в массив #8
Нет не правильно, правильно - вот так
Java
1
widgets.get(2).setText("Текст");
Добавлено через 1 минуту
Мы работаем через ArrayList же. У него для это методы и есть свои. И не забываем что в массиве нумерация с нулевого элемента
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 172
16.11.2014, 15:27  [ТС]     Java. Занести переменные в массив #9
А если я хочу занести в ArrayList не TextView по Id, а именно переменные, которым я присвоил нужные TextView, типо:
Java
1
TextView text_1 = new (TextView)findViewById(R.id.text_view_1)(
и занесу text_1 , text_2 и тд. Как тогда писать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2014, 15:29     Java. Занести переменные в массив
Еще ссылки по теме:

Android Возможно ли создать класс, в котором бы хранились переменные и массивы разных размеров?
Псевдо глобальные переменные Android
Android Переменные класса Application
Android Глобальные переменные, методы - где лучше заводить?
Android Глобальные и локальные переменные

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

Или воспользуйтесь поиском по форуму:
Nakajinro
2 / 2 / 3
Регистрация: 15.11.2014
Сообщений: 17
16.11.2014, 15:29     Java. Занести переменные в массив #10
Java
1
widgets.add(text_1);
Yandex
Объявления
16.11.2014, 15:29     Java. Занести переменные в массив
Ответ Создать тему
Опции темы

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