Hinzufügen eines Listeners zu einem Zahlenauswahl-Widget

7

Ich arbeite daran, einen Nummernwähler in meine Anwendung zu integrieren. Die Aktivität zeigt eine Liste von Elementen mit jeweils einer Nummernauswahl an. Der Benutzer kann die Menge mit der Zahlenauswahl erhöhen oder verringern. Währenddessen möchte ich ein TextView mit dem Preis aktualisieren.

Ich hatte Schwierigkeiten, als ich versuchte, dies zu erreichen. Ich machte ein einfaches Projekt und versuchte zu versuchen, eine Toast-Nachricht anzuzeigen, wenn der Benutzer auf das Widget klickte, aber ohne Erfolg.

Ich nehme an, dass das Zahlen-Widget nicht wie ein Knopf behandelt wird, deshalb funktioniert ein Klick-Listener nicht? Ich würde mich über jeden Hinweis im Hinblick auf das Hinzufügen eines Zuhörers freuen.

Unten ist mein Code:

%Vor%     
Javacadabra 06.01.2013, 18:27
quelle

3 Antworten

14

Um Listener mit Picker zu setzen, muss Ihre Aktivität den Picker-Interface-Listener implementieren. (Eigentlich ist Ihre Aktivität nicht zwingend erforderlich, um die Schnittstelle zu implementieren, Sie können auch anonyme innere Methode verwenden. Was auch immer funktioniert.)

Also in Ihrer Aktivität:

%Vor%     
Zyoo 06.01.2013, 18:40
quelle
9

Für die neueren Android-Entwickler (wie mich) ist die Aktivität selbst nicht erforderlich , um den Listener zu implementieren. Es muss nur in setOnValueChangedListener() übergeben werden.

Dies hilft, zu viele implements und zu viele überlappende @Overrides zu vermeiden.

Beispiel:

%Vor%     
nitsujri 15.03.2014 13:14
quelle
2

Sie müssen NumberPicker.setOnValueChangedListener festlegen, um bei Änderung des aktuellen Werts von benachrichtigt zu werden NumberPicker

Siehe dieses Beispiel wie wir setOnValueChangedListener für NumberPicker setzen

    
ρяσѕρєя K 06.01.2013 18:33
quelle