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

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

Войти
Регистрация
Восстановить пароль
 
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
#1

Перебор id ресурсов в цикле - Программирование Android

14.03.2015, 09:22. Просмотров 650. Ответов 4
Метки нет (Все метки)

Добрый день,

В layout расположены 20 кнопок, каждая из которых, естественно, имеет собственный id. Эти id отличаются только числовым индексом: btn1, btn2,... btn20
В create надо каждой кнопке нарисовать свою картинку. В этом нет ничего сложного. Но есть проблема, чтобы это сделать в цикле.
Вместо объявления для каждой кнопки типа:
Java
1
2
3
4
Button btn1 = (Button) findViewById(R.id.btn1);
Button btn2 = (Button) findViewById(R.id.btn2);
Button btn3 = (Button) findViewById(R.id.btn3);
....
Сделать примерно следующее:
Java
1
2
3
4
for(int i = 1; i < 21; i++)
{
    Button btn+i = (Button) findViewById(R.id.btn+i);
}
Понятное дело, что в таком виде не работает
Никак не пойму как обращаться в этом случае к R.id?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2015, 09:22     Перебор id ресурсов в цикле
Посмотрите здесь:

Хранение ресурсов - Программирование Android
Здравствуйте! Я недавно начала писать приложение под Android. Опыта у меня немного и я столкнулась с проблемой. Допустим, я хочу...

смена ресурсов - Программирование Android
здравствуйте, есть код but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View...

Сравнение строковых ресурсов - Программирование Android
Здравствуйте! Не получается сравнить полученные данные, чтобы сменилась кнопка. Что я делаю не так? import android.os.Bundle; ...

Получить массив из ресурсов - Программирование Android
String names = getResources().getStringArray(R.array.names); без этой строчки приложения запускается, с ней нет. еклипс красным не...

Взять массив из ресурсов - Программирование Android
Как такой массив взять из getResources private static final String CONTENT = new String { &quot;Раз&quot;, &quot;Два&quot;, &quot;Три&quot;,...

Получить картинку из ресурсов - Программирование Android
Вот так приложение получает иконку: android:icon=&quot;@drawable/ic_launcher&quot; Вопрос: Как получить картинку так-же, только программно и в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
14.03.2015, 09:45     Перебор id ресурсов в цикле #2
public int getIdentifier (String name, String defType, String defPackage)
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
14.03.2015, 09:58  [ТС]     Перебор id ресурсов в цикле #3
Спасибо! Именно это я искал.
Заодно еще вопрос. А как верно указывать имя переменной Button btn+i? В таком виде не работает...
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
14.03.2015, 10:29     Перебор id ресурсов в цикле #4
Создай массив баттонов и не ищи приключений
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 10:42     Перебор id ресурсов в цикле
Еще ссылки по теме:

Использование стандартных ресурсов - Программирование Android
Вообщем мне нужно использовать стиль кнопки на другой компонент, но с небольшими изменениями. Проблема вот в чём: Я взял дефолтный...

Загрузка нужных ресурсов - Программирование Android
Всем привет. Приступили к новому проекту. В проекте используется графика - много графики, если лить всю графику под все разрешения, то...

Обращение к файлу ресурсов - Программирование Android
Всем доброго времени суток. У меня вопрос как можно, и можно ли, обратиться к файлу ресурса моего приложения (изображение) для его...

Использование ресурсов в jar - Программирование Android
Можно ли использовать файлы ресурсов в каталоге res/ которые в jar. Сейчас выдает ошибку NotFoundException. Добавлено через 12 часов...

Загрузка ресурсов из модуля - Программирование Android
Здравствуйте! Есть &quot;основной&quot; файл программы под андроид на Eclipse MainActivity.java примерно следующего содержания: package...

Использование ресурсов классами - Программирование Android
В приложении есть кнопка и TextView. Пользователь жмёт клавишу. После нажатия клавиши я хочу, чтобы создался объект другого класса...


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

Или воспользуйтесь поиском по форуму:
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
14.03.2015, 10:42  [ТС]     Перебор id ресурсов в цикле #5
Скорее всего насчет массива вы правы...

А вот при доступе к ресурсу через строку получаю null
Java
1
Button btn = (Button) findViewById(getBaseContext().getResources().getIdentifier("btn"+i, "string", getBaseContext().getPackageName()));
Добавлено через 9 минут
Нашел свою ошибку - перепутал тип, вместо стринга надо id
Yandex
Объявления
14.03.2015, 10:42     Перебор id ресурсов в цикле
Ответ Создать тему
Опции темы

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