Wie kann ich spinner setOnItemLongClickListener verwenden?

7

Ich versuche, den Spinner anders zu verhalten, wenn der Benutzer lange auf einen Gegenstand geklickt hat. Ich habe Spinner mit einem Projekt und ich möchte zwei Dinge.

  1. Wenn der Benutzer einfach auf ein Element klickt, das ich normal anzeigen möchte, wählen Sie es aus.
  2. Wenn der Benutzer lange auf ein Element geklickt hat, das ich anzeigen möchte, mit Optionen wie "Element bearbeiten", "Element löschen".

Der erste Schritt funktioniert gut (natürlich), aber wenn ich versuche, die zweite Aufgabe zu machen, kann ich keinen Spinner machen, um ein longClicked-Ereignis zu erzeugen.

Hier ist mein Code:

%Vor%     
elCarda 28.04.2010, 14:59
quelle

4 Antworten

15

Das Spinner unterstützt derzeit OnItemLongClickListener nicht.

    
Romain Guy 28.04.2010, 18:19
quelle
8

Sie können jedoch einen OnLongClickListener zum Spinner hinzufügen. Es wird nicht ausgelöst, wenn ein Element im Menü lange angeklickt wird, aber es wird ausgelöst, wenn der Benutzer lange auf den Drehknopf klickt.

%Vor%     
big al 28.12.2011 16:39
quelle
1

1) Erstellen Sie eine benutzerdefinierte Spinner-Klasse, indem Sie Spinner erweitern,

%Vor%

Verwenden Sie den obigen Spinner in Ihrer XML-Ansicht.

2) Definieren Sie eine Schnittstelle für Klicks,

%Vor%

3) Führe diese Komponenten in deiner Spinner-Adapter-Klasse in getView und getDropDownView

aus %Vor%

4) Übergeben Sie beim Instanziieren des Adapters die von uns erstellte ClcikListener-Schnittstelle.

5) und in der implementierenden Klasse folgendes tun,

%Vor%     
yajnesh 04.02.2016 07:19
quelle
0

verwenden Sie einfach einen Touchlistener mit Handler. Zum Abrufen des ausgewählten Elements spinner.getSelectedItemPosition

    
Deplover 28.02.2018 16:27
quelle

Tags und Links