Android Studio массив ссылок на картинки

223
03 апреля 2019, 06:10

Сейчас есть такая штука

private Integer[] mThumbIds = { R.drawable.card1, R.drawable.card2,
        R.drawable.card3, R.drawable.card4, R.drawable.card1, R.drawable.card2,
        R.drawable.card3, R.drawable.card4, R.drawable.card1, R.drawable.card2,
        R.drawable.card3, R.drawable.card4, R.drawable.card1, R.drawable.card2,
        R.drawable.card3, R.drawable.card4};

А надо так чтобы оно само это делало...
То есть есть папка (drawable) в неё будут добавляться изображения (не уверен что делаю все правильно, но да ладно) и программе должно быть без разницы сколько там изображений и как они называются, она должна брать и составлять подобный массив...
Прошу прощения за глупый вопрос, но чет я уже перегорел с это Android Studio и не могу нормально гуглить, а вопрос относительно срочный (до этого прогал на C#, да ещё и в Unity)

В итоге погуглив, а затем погуглив ещё раз я осознал что все делаю не правильно и что в drawable должны быть только нужные программе изображения типа icon или background (это также подметил @Jarvis_J, спасибо ему), а мне нужно нечто иное, так что теперь я буду создавать папку непосредственно в корневом хранилище устройства (или как это назвать, это я ещё не гуглил, но надеюсь разберусь) и туда уже добавлять картинки которые может брать, добавлять, удалять пользователь...
Далее я буду проверять картинки на то что они картинки и добалять в список
(пока нашел примерно такой вариант)

Files.find(PATH, 1, (p, a) -> a.isRegularFile() && p.getFileName().toString().endsWith(".txt")).collect(Collectors.toList());

Ну и работать непосредственно с этим списком, список будет обновляться каждый раз когда обновляется Activity (переход на другую Activity и обратно должен обновить список) это вроде делается через какой-то стандартный метод

Answer 1

Поскольку идентификатор R.drawable.blahblah это статическое поле сгенерированного класса R.drawable, типа:

public final class R {  
    public static final class drawable {  
        public static final int blahblah=0x7f020000;  
    }  
}

То на ум приходит только рефлексия, нечто типа:

Field[] fields = R.drawable.class.getFields();
for(int i = 0; i < fields.length; i++){
    mThumbIds[i] = fields[i].getInt(); //
}

Дополнительно, конечно можно и нужно обложить проверками - поле статическое, не статическое, каталог тот, не тот...

READ ALSO
Исключения и странное наследование

Исключения и странное наследование

Всем привет! Заметил такую вещь:

256
Vuex getter не передает значение в computed свойство

Vuex getter не передает значение в computed свойство

столкнулся с проблемой что геттер для vuex не передает значение

143
Редактирования изображения node.js для бота Discord

Редактирования изображения node.js для бота Discord

Вобщем, у меня есть бот на Discord, мне нужно что бы при заходе в группу этот бот кидал картинку(с зарание подготовленым фоном) с ником человека(+-...

157
Ожидание localhost

Ожидание localhost

Вечер добрый, работаю на Express имеется init для запуска:

196