• Как взаимодействует класс MainActivity и activity_main.xml?

    @idkravitz
    Как обычно такие вещи можно почитать в документации:
    О ресурсах: https://developer.android.com/guide/topics/resourc...
    О доступе к ресурсам: https://developer.android.com/guide/topics/resourc...
    Класс R генерируется тулзой aapt (Android Asset Packaging Tool). R содержит идентификаторы для соответствующих ресурсов, которые можно затем использовать в своём коде (например, findViewById). Связывается MainActivity и activity_main.xml через вызов setContentView(R.layout.activity_main). setContentView имеет две перегрузки, одна для вызова с объектом View - задать конкретный объект для представления UI данного Activity, а другая для вызова с int - задаёт идентификатор layout ресурса, который затем надувается (inflate). inflate это, как несложно себе вообразить, процесс создания иерархии View по данным из ресурсного файла с layout, занимаются этим процессом потомки абстрактного класса LayoutInflater, собственно он и умеет привязывать обработчики и все остальное.

    Также можете поискать в своём проекте сгенерированный файл R.java и просмотреть его.
    Ответ написан
    1 комментарий