Волшебным для Android является поиск подходящего ресурса только через R.id.XXX.
AFAIK, ресурсы компилируются в двоичный формат, так как эта логика отображения работает под капотом?
Может быть работает следующим образом:
Например, в layout1.xml мы получили:
<Button android:id="@+id/button1" >
и AAPT сгенерирует это в R.java:
public static final int button1=0x7f05000b;
Когда выделяется *. apk, @+ id/button1 с подстрокой "0x7f05000b".
Таким образом, когда мы вызываем:
findViewById(R.id.button1);
мы по существу по-прежнему выполняем поиск на основе идентификатора, хотя идентификатор - это число, такое как 0x7f05000b.
Спасибо!
ADD
То, что я действительно хочу знать, как синтаксис идентификатора ресурса анализируется в содержимом ресурса? Другими словами, как среда выполнения Android находит содержимое ресурса с идентификатором ресурса в качестве единственного ключа?
Например, как показано рисованное изображение с идентификатором ресурса? Или как показано строковое значение с идентификатором ресурса?