Возможно ли получить прослушиватель, прикрепленный к представлению, если он существует? например, если у меня есть представление, я хотел бы получить слушателя, который слушает этот вид, если он существует
Единственный метод, который я мог найти, - View.getOnFocusChangeListener(). Таким образом, стандартная библиотека View
только рассказать о своей OnFocusChangeListener
; для других слушателей такие геттеры не являются частью класса, поэтому, если вы хотите представить их, вам может потребоваться подкласс View.
Кроме того, есть некоторые методы, которые говорят вам, является ли конкретный типом слушателя прикрепляются к View
без возврата слушателя, например, является ли слушатель перетащить событие, на клик слушателе или на долгом клик слушателя прилагаются к View
. Примечание. Некоторые из этих методов могут иметь побочные эффекты, проверьте документы на этом.
Нет, если вы берете OnClickListener, например, он имеет защищенный доступ в представлении. Только подкласс может предоставить публичный доступ к полям Listener, но класс framework не делает. С другой стороны, у вас есть полная ответственность за установку прослушивателя в первую очередь, поэтому вы можете настроить свои собственные структуры данных для отслеживания этой информации, если это необходимо.