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
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:
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%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%Tags und Links android android-preferences