В основном, когда attributes (like layout_width, onClick and so on)
анализируется во время создания View
, для этого View
создается onClickListener
, если этот атрибут был установлен в XML
.
Вы можете посмотреть это , например, здесь , так как он с открытым исходным кодом.
Имейте в виду, что я смотрел на класс View, поскольку Button
расширяет TextView
, а TextView
расширяет View
.
Чтобы объяснить это немного подробнее: Когда вы создаете View
через XML
, все атрибуты будут проанализированы. Тогда properties of the View are set according to those attributes
. Вы также можете сделать это самостоятельно при определении custom View
.
Просто отвечая на ваш вопрос: Да, onClickListener создается «скрытым» за XML во время создания представления