У меня есть приложение, которое можно скинуть; пользователь может выбрать один из набора доступных для рисования ресурсов для использования в качестве фона, и я не хотел жестко кодировать набор для рисования. Что я сделал, так это назвал id каждого объекта рисования, используя идентифицируемый шаблон, что-то вроде «background_X», где «background_» был исправлен, а X мог быть в произвольной форме.
Затем я использовал отражение в классе R, чтобы определить во время выполнения каждый из возможных фонов, и представил их пользователю по идентификатору ресурса. Когда пользователь сделал свой выбор, я сохранил отраженное имя в sharedPrefs, а не ID ресурса ... это позволило обновлениям (которые потенциально могли бы изменить нумерацию каждого идентификатора), чтобы сохранить настройки пользователя.
Отражение также можно использовать для преобразования числа (foo) в имя, но вам нужно пройтись по всему в R. [attr | drawable | id | и т.д.]. *, Чтобы найти совпадение, и если вы добавляете ресурсы к категории вы рискуете изменить значения.