Wo/Wie speichert eine View die registrierten OnClickListener

  • Hallo zusammen,


    ich habe eine kleine Frage zu dem Callback-Konzept der OnClickListener.
    Ein Fragment implementiert das Interface OnClickListener (und damit die Callback-Methode onClick()). Zudem wird in dem Fragment ein Button button1 initialisiert(durch findViewByID). Anschließend wird die Methode button1.setOnClickListener(this) aufgerufen, d.h. das OnClickListener-Interface meines Fragments wird in dem Button als Listener registriert. Aber wo genau (in welchem Feld/Array/List) werden die entsprechenden OnClickListener in Button (bzw. View) abgespeichert? Ich habe mir die Klasse bei Android-Developers angesehen, aber irgendwie finde ich kein entsprechendes Feld/Array/List.


    Ich würde mich über eine Antwort freuen.


    Beste Grüße.

  • er möchte wissen wo in der Android Button Klasse der Listener gespeichert wird, der in der methode setOnClickListener gesetzt wird.
    Und die Antwort lautet: Gar nicht.


    Button erbt von TextView bis hin zu View. In der View Klasse wird dann die setOnClickListener implementiert. Die View Klasse wiederum besitzt eine Klassenvariable namens mListenerInfo vom Typ ListenerInfo. Das ist wiederum eine Struktur in der alle gesetzten Listener gespeichert werden.


    http://grepcode.com/file/repos…view.View.OnClickListener)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!