Как отобразить список ресурсов

Я хотел бы отобразить все списки ресурсов в списке, чтобы пользователь мог выбрать один из них. Есть ли способ перебрать все элементы R.drawable, поэтому мне не нужно жестко кодировать их в мою программу?

Ответы

Ответ 1

Используя метод getFields в классе drawable, вы можете выполнить итерацию по всему списку чертежей.

Field[] drawables = android.R.drawable.class.getFields();
for (Field f : drawables) {
    try {
        System.out.println("R.drawable." + f.getName());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Ссылка: http://www.darshancomputing.com/android/1.5-drawables.html

Ответ 2

Если вы заглянете в свой сгенерированный объект R.drawable, вы увидите, что идентификаторы смежны, в моем случае (и, вероятно, ваши), начиная с 0x7f020000. Поскольку они, похоже, отсортированы по альфе, вы могли бы добавить фиктивные изображения AAAAAAA.png и ZZZZZZ.png и выполнить итерацию между двумя идентификаторами исключительно.

Я не могу подтвердить ваши причины для этого, но я считаю, что это сработает.