Unterschied zwischen onItemClickListener und OnItemSelectedListener von AdapterView
Lesezeit: 2 Minuten
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.
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)
10540900cookie-checkUnterschied zwischen onItemClickListener und OnItemSelectedListener von AdapterViewyes
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