Имея солидный опыт работы в не-Java и не-Android-области, я изучаю Android.
У меня много путаницы с разными областями, одним из них является обращение с нажатиями кнопок. Есть как минимум 4 способа сделать это (!!!), они кратко перечислены здесь
для цели согласования Я перечислил их:
-
Имейте член класса
View.OnClickListener
в действии и назначьте его экземпляру, который будет обрабатывать логикуonClick
в методе активностиonCreate
. -
Создайте 'onClickListener' в методе активности onCreate и назначьте его кнопке с помощью setOnClickListener
-
Внедрите 'onClickListener' в самом действии и назначьте 'this' в качестве слушателя для кнопки. Для случая, когда активность имеет несколько кнопок, идентификатор кнопки должен быть проанализирован для выполнения обработчика onClick для правильной кнопки
-
Имейте общедоступный метод активности, реализующий логику "onClick" и назначающую ее кнопке в объявлении xml-активности.
Вопрос №1:
Есть ли все эти методы, есть ли другой вариант? (Мне не нужны другие, просто любопытные)
Для меня самый интуитивный способ был бы самым последним: для этого требуется наименьшее количество кода и является наиболее читаемым (по крайней мере для меня).
Хотя, я не вижу, чтобы этот подход широко использовался. Что такое минусы для его использования?
Вопрос № 2:
Каковы плюсы и минусы для каждого из этих методов? Поделитесь своим опытом или хорошей ссылкой.
Любая обратная связь приветствуется!
P.S. Я попытался найти Google и найти что-то для этой темы, но единственное, что я нашел, это описание "как" сделать это, а не почему это хорошо или плохо.