Динамическое создание массива изображений

Ответить
AirAlchemiststart
Сообщения: 14
Зарегистрирован: 09 ноя 2013, 22:57

Динамическое создание массива изображений

Сообщение AirAlchemiststart » 28 ноя 2013, 13:55

Ребята, здравствуйте.

Обращаюсь к картинкам по id в массиве. Очень удобно.
Однако количество картинок в проекте будет увеличено в разы. Пока их залито всего семь штук и массив инициализируется следующим образом:

wordImageArray = new int[] {
R.drawable.ovo,
R.drawable.birdo,
R.drawable.pordo,
R.drawable.fajro,
R.drawable.mano,
R.drawable.kato,
R.drawable.hundo,
};

Подскажите, нет ли способа пройтись по всем изображениям в drawable, не прописывая их руками при инициализации массива?
Заранее - спасибо.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Динамическое создание массива изображений

Сообщение KamiSempai » 28 ноя 2013, 17:07

Советую научиться пользоваться папкой assets.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

AirAlchemiststart
Сообщения: 14
Зарегистрирован: 09 ноя 2013, 22:57

Re: Динамическое создание массива изображений

Сообщение AirAlchemiststart » 04 дек 2013, 15:57

KamiSempai писал(а):Советую научиться пользоваться папкой assets.
http://developer.alexanderklimov.ru/and ... assets.php - прочитал это. Не вижу связи. Погуглил ещё - не понимаю, как может быть связано с моим вопросом.
В любом случае - благодарю за попытку помочь.

Теме - up.


AirAlchemiststart
Сообщения: 14
Зарегистрирован: 09 ноя 2013, 22:57

Re: Динамическое создание массива изображений

Сообщение AirAlchemiststart » 04 дек 2013, 21:35

WizikTLT писал(а):Может поможет
http://www.anddev.org/viewtopic.php?t=575
Спасибо! Действительно, рабочий код:

Код: Выделить всё

	private int[] getAllResourceIDs(Class<?> aClass)
			throws IllegalArgumentException
	{
		Field[] IDFields = aClass.getFields();
		int[] IDs = new int[IDFields.length];

		try
		{
			for (int i = 0; i < IDFields.length; i++)
			{
				IDs[i] = IDFields[i].getInt(null);
			}
		} catch (Exception e)
		{
			throw new IllegalArgumentException();
		}
		return IDs;
	}

	private int[] wordImageArray;
	wordImageArray = getAllResourceIDs(R.drawable.class);


Ответить