Есть несколько причин, по которым вы можете программно установить OnClickListener
. Во-первых, если вы когда-нибудь захотите изменить поведение своей кнопки во время работы приложения. Вы можете полностью указать свою кнопку на другой метод или просто отключить кнопку, установив OnClickListener
, который ничего не делает.
Когда вы определяете слушателя с помощью атрибута onClick
, представление ищет метод с таким именем только в своей активности хоста. Программная установка OnClickListener
позволяет вам контролировать поведение кнопки где-то, кроме ее активности на хосте. Это станет очень актуальным, когда мы поговорим о Фрагментах, которые в основном представляют собой мини-действия, позволяющие вам создавать повторно используемые коллекции представлений с собственным жизненным циклом, который затем можно объединить в действия. Фрагменты всегда должны использовать OnClickListeners
для управления своими кнопками, так как они не «Активности» и не будут искать слушателей, определенных в onClick
.