Unterschied zwischen onItemClickListener und OnItemSelectedListener von AdapterView

Lesezeit: 2 Minuten

Benutzer-Avatar
Klar

Was ist der Unterschied zwischen diesen beiden Zuhörern, die Dokumentation sagt:

OnItemSelectedListener – Schnittstellendefinition für einen Callback, der aufgerufen werden soll, wenn ein Element in dieser Ansicht ausgewählt wurde.

OnItemClickListener – Schnittstellendefinition für einen Callback, der aufgerufen werden soll, wenn auf ein Element in dieser AdapterView geklickt wurde.

Auswahl, Klick sind diese auf dem Touchscreen nicht gleich?

  • Ich denke, ausgewählt sind Klicks + Fokusgewinne, z. B. können Sie es auch mit dem Trackball auslösen

    – Anwendungen

    14. November 2010 um 13:05 Uhr

OnItemSelectedListener wird für Spinner und OnItemClickListener für ListViews verwendet.

  • Nett. das ist einfach, aber selten sagen Quellen darüber. Es verwirrt mich wirklich

    – Hqt

    13. Juli 2012 um 16:06 Uhr

  • Ich denke, Sie meinen: “Es macht mich verwirrt” 🙂 Ich stimme jedoch zu – Java-Schnittstellen leiden oft unter diesem seltsamen Problem, Methoden zu deklarieren, die niemals aufgerufen werden sollen.

    – Alex

    27. Juni 2013 um 1:49 Uhr

  • Dies ist falsch, AdapterViews können beide Arten von Listenern verwenden. user1611552 hat den Unterschied richtig identifiziert und das sollte die richtige Antwort sein

    – d370urn3ur

    7. April 2014 um 10:37 Uhr

AdapterView.OnItemSelectedListener wird nur aufgerufen, wenn sich die neu ausgewählte Position von der zuvor ausgewählten Position unterscheidet oder wenn kein ausgewähltes Element vorhanden war.

AdapterView.OnClickListener wird jedoch aufgerufen, auch wenn Sie jedes Mal auf dasselbe Element klicken.

http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html

  • Obwohl die Dokumentation dies sagt, funktioniert onitems selectedlistener nicht für die Listenansicht und ebenso funktioniert onitemclicklistener nicht für die Spinner-Ansicht, da es sich um eine allgemeine Spezifikation handelt und keine bestimmte Ausnahme einschließt/ausschließt.

    – Benutzer2779311

    3. August 2014 um 12:53 Uhr

Android unterscheidet zwischen Auswahlereignissen und Klickereignissen. Widgets, die auf dem „Spinner“-Paradigma basieren – einschließlich Spinner und Galerie – behandeln alles als Auswahlereignisse. Andere Widgets – wie ListView und GridView – behandeln Auswahlereignisse und Klickereignisse unterschiedlich. Für diese Widgets werden Auswahlereignisse durch das Zeigegerät gesteuert, wie z. B. die Verwendung von Pfeiltasten, um eine Hervorhebungsleiste in einer Liste nach oben und unten zu bewegen. Klickereignisse sind, wenn der Benutzer entweder auf das Zeigegerät „klickt“ (z. B. die mittlere D-Pad-Taste drückt) oder unter Verwendung des Berührungsbildschirms auf etwas im Widget tippt.

(Quelle: Auszug aus “The Busy Coder’s Guide to Android Development” Version 3.8)

1054090cookie-checkUnterschied zwischen onItemClickListener und OnItemSelectedListener von AdapterView

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy