Как обращаться к файлам Drawable по-порядку?

В папке Drawable находятся картинки с названиями im1.jpg, im2.jpg,...im30.jpg (30 штук) Есть объект User, содержащий int-поле для хранения ID картинки и String-поле для имени Мне нужно в цикле создать массив из 30 объектов User.

private List<User> users= new ArrayList<>(30);
for (int i = 0; i < users.size(); i++){
            users.set(i, new User("name"+i, R.drawable.im1));
        }

Подскажите, как написать второй аргумент для User, чтобы каждый новый объект получал следующую картинку?


Ответы (1 шт):

Автор решения: ermak0ff

Мне кажется, что тут можно сделать по другому, более красиво и правильно, но если отвечать на ваш вопрос, то можно воспользоваться методом getIdentifier:

private List<User> users= new ArrayList<>(30);
for (int i = 0; i < users.size(); i++){
        int imgId = getResources().getIdentifier("@drawable/im"+i+1, null, getPackageName())
        users.set(i, new User("name"+i, imgId));
}
→ Ссылка