Ссылка на изображение, обозначаемое как число

Можете ли вы ссылаться на drawable, если имя файла – просто число?

Пример. Если у меня есть имя изображения «1.jpg» в res / drawable, это даст мне ошибку, если я попытаюсь ссылаться на него с помощью R.drawable.1

Если у меня есть имя изображения «one.jpg» в res / drawable, оно будет работать нормально, если я попытаюсь ссылаться на него с помощью R.drawable.one

Краткий ответ: Нет.

Более длинный ответ:

Имя файла для каждого включенного ресурса используется в упаковке – оно будет назначаться как имя поля для public static final int в файле R.java. Это означает, что имена ресурсов, среди других ограничений, также должны удовлетворять условиям для имен переменных Java.

Обратите внимание, что одно из обучающих программ Java напоминает нам о именовании переменных Java:

Имя переменной может быть любым юридическим идентификатором – бесконечной последовательностью букв и цифр Юникода, начиная с буквы, знака доллара «$» или символа подчеркивания «_».

Итак, следующие допустимые имена переменных Java и будут скомпилированы:

 public static final int _1=0x7f020000; public static final int one=0x7f020001; 

Хотя следующее имя переменной вызовет ошибку компиляции:

 public static final int 1=0x7f020000; 

Длинный ответ заключается в том, что это существующее поведение в Java, на котором основывается Android, сохраняя те же ограничения.

Кроме того, он идет дальше: R.java не является специфичным для чертежей. Вы заметите, что в вашем файле 1.xml вы не можете иметь макет 1.xml или даже <string name="1"> .