Die Verwendung von listpreference und das Abrufen des Schlüssels funktioniert, aber keine OK-Schaltfläche

8

Ich benutze listpreference in meiner Android-App und bekomme meine Schlüsselwerte und alles ist gut und funktioniert gut (jetzt, dass ihr mir geholfen habt) ABER - wenn meine Listenpräferenzmenüs auftauchen, enthalten sie nur eine Abbrechen-Schaltfläche.

Nehmen wir an, der Benutzer wählt zwischen Rot, Blau und Grün. Wenn das Listenvorgabedialogfeld zum ersten Mal angezeigt wird, zeigt das Dialogfeld nur eine Abbrechen-Schaltfläche an. Aus diesem Grund verschwindet der Dialog, sobald der Benutzer seine Auswahl trifft. Ich möchte es so, dass, wenn der Benutzer ihre Einstellung wählt, sie das Radiobutton markiert sehen und dann gehen sie voran und klicken den OK-Knopf ... aber ich habe keinen OK-Knopf und kann nicht herausfinden, warum. Jede Hilfe wäre toll ... al

    
Allan 25.03.2010, 22:55
quelle

4 Antworten

6

Sie können ListPreference klonen und neu implementieren, um so zu arbeiten, wie Sie möchten, und Ihre eigene Preference -Klasse als Ergebnis zu erstellen.

ListPreference ist jedoch so eingestellt, dass nur eine negative Schaltfläche ("Cancel") verwendet wird. Wie der Quellcode sagt:

%Vor%     
CommonsWare 25.03.2010 23:11
quelle
6

Ich habe getan, was die vorherige Antwort vorgeschlagen und meine eigene ListPreference basierend auf Android-Quellcode implementiert. Unten ist meine Implementierung, die die Schaltfläche OK hinzufügt.

myPreferenceList.java

%Vor%

Dann können Sie die Klasse in Ihrer preference.xml wie folgt verwenden:

%Vor%     
Techi50 02.04.2014 22:31
quelle
4

Der Code von techi50 ist korrekt, funktioniert aber nicht für die Schaltfläche "Abbrechen". Hier sind einige Änderungen:

%Vor%     
ajinkya 15.03.2015 07:03
quelle
1

Die von Techi50 und ajinkya vorgeschlagene Lösung funktioniert gut. Wenn Sie jedoch auch den OnPreferenceChangeListener haben, wird er nicht ausgelöst.

%Vor%

Um dies zu beheben, müssen Sie die callChangeListener () -Funktion aufrufen, indem Sie auf OK klicken, etwa so:

%Vor%     
southerton 17.09.2015 09:24
quelle

Tags und Links