Как и другие ресурсы в Android, доступ к рисоваемым объектам осуществляется через класс 'R', который является просто набором статических классов, содержащих статические целочисленные поля.Не существует метода «получить все рисуемые имена» (по крайней мере, я его не знаю), кроме использования отражения.
Для рандомизации необходим список идентификаторов, которые можно рисовать.Вы можете автоматически заполнить этот список, используя отражение:
import java.lang.reflect.Field;
...
Field[] fields = R.drawable.class.getFields();
List<Integer> drawables = new ArrayList<Integer>();
for (Field field : fields) {
// Take only those with name starting with "fr"
if (field.getName().startsWith("fr")) {
drawables.add(field.getInt(null));
}
}
Таким образом, вы получите список идентификаторов рисованных объектов, которые вас интересуют.Вы можете использовать эти идентификаторы позже, когда вы обычно используете, например, R.drawable.someResource