2013-12-20 2 views
0

Я работаю в плагине Android ADT для Eclipse.Для счетчика циклов в операторе точек

Что я пытаюсь сделать так: У меня есть несколько выделенных объектов с именем от 0 до 150, и я хочу получить их в массив, чтобы использовать их. Насколько я знаю, для их использования они должны быть назначены "R.drawable.FilenameWithoutExtension". Для того, чтобы создание массива легко и быстро, что я хочу использовать для цикла:

for (int i = 0; i <= 150; i++) { 
    imagesArray[i] = R.drawable.i; 
} 

Но сейчас я получаю сообщение об ошибке для этого "R.drawable.i", потому что нет файла "i".

Есть ли способ использовать числовое значение "i" вместо буквы для присвоения "R.drawble."?

+0

Массив имеет тип String? –

+0

Нет, это пригодно для рисования. –

ответ

2

Вы можете получить идентификторов ресурса от его имени, используя метод getIdentifier():

for (int i = 0; i <= 150; i++) 
    imagesArray[i] = getResources().getIdentifier(String.valueOf(i), "drawable", "your.package.name"); 
0

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

После этого вы можете использовать отражение для каждого из членов R.drawable.

+0

Приятно это знать! Но я никогда не слышал об этом доступе к отражению, будет google, что –

+0

Есть много обучающих онлайн, но прежде чем вы их прочитаете, я думаю, что NigelK имеет лучшее решение вашей проблемы. –

Смежные вопросы