dialog-preference

___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ tag123state ___ Ein Entwurfsmuster, das den Zustand eines Objekts darstellt. Einer der Verhaltensmuster der Gang of Four. ___ tag123androidpreferences ___ Eine Instanz der Klasse Einstellungen stellt einen Knoten in einer Präferenzstruktur dar, der einen Mechanismus zum hierarchischen Speichern und Zugreifen auf Konfigurationsdaten bietet. ___ answer14317241 ___

Okay, nach einigen Experimenten sieht es so aus, als ob das UI-Widget in %code% nicht aktualisiert wird, da es immer an diesem Punkt %code% zu sein scheint. Ich weiß nicht, warum sie es vorschlagen. Vielleicht müssen Sie dies tun, wenn Sie Preference ableiten, aber es gibt verschiedene Regeln, die Sie befolgen müssen, wenn Sie DialogPreference ... erstellen? Das würde zumindest erklären, warum ListPreference und EditTextPreference das nicht tun, weil sie die DialogPreference ableiten.

Nach allem, was ich gefunden habe, muss das UI-Widget überhaupt nicht aktualisiert werden! Es sollte eigene Speicher- / Wiederherstellungsmethoden haben, die die Statusverwaltung für Sie übernehmen. Hier ist beispielsweise ein Auszug einer DialogPreference-Unterklasse, die ich mit einem SeekBar-Widget erstellt habe:

%Vor%

Wie Sie sehen, aktualisiere ich ein SeekBar-Widget niemals irgendwo. Die SeekBar speichert / stellt ihren Zustand selbst wieder her!

Sie werden auch bemerken, dass es geringfügige Abweichungen von den Vorschlägen in den Android-Entwicklerdokumenten gibt. Ich überprüfe nicht, ob die DialogPreference vor dem Speichern des Status persistent ist, weil dann die Eigenschaften %code% und %code% nicht gespeichert werden, wenn dies der Fall ist. Ich rufe auch %code% direkt am Ende auf, da ich festgestellt habe, dass es nie funktioniert, wenn es früher aufgerufen wird.

Das sind nur meine bisherigen Ergebnisse. Ich bin mir nicht sicher, was der richtige Weg ist, aber was ich oben habe scheint zu funktionieren.

UPDATE: @whatyouhide möchte wissen, wie die Methoden %code% und %code% in meiner DialogPreference-Unterklasse aussehen. Hier sind sie:

%Vor%     
___ tag123dialogpräferenz ___ Eine Klasse im Android-Framework für Einstellungen, mit der Anwendungen benutzerdefinierte Benutzeroberflächen zum Bearbeiten einer Voreinstellung implementieren können. ___ tag123androidwidget ___ Dies bezieht sich entweder auf Widgets für den Startbildschirm oder auf allgemeine Benutzeroberflächenelemente, die auf einem Android-Anwendungsbildschirm verwendet werden. ___ qstntxt ___

Ich implementiere meine eigene benutzerdefinierte DialogPreference-Unterklasse mit einer SeekBar, die für die Persistenz einer Ganzzahl verwendet wird. Ich bin ein wenig verwirrt darüber, was in %code% und %code% gehen muss. Müssen Sie das UI-Widget, mit dem der Benutzer interagiert (in meinem Fall das SeekBar-Widget), in %code% ?

aktualisieren?

Der Grund, warum ich verwirrt bin, ist, dass der API-Dokument-Artikel hier Sie dazu auffordert tu dies:

%Vor%

Aber schauen Sie sich die Quelle für einige offizielle Android Preference-Klassen an ( EditTextPreference und ListPreference ), das UI-Widget ist nicht in %code% aktualisiert. Nur der zugrunde liegende Wert der Präferenz ist (im obigen Beispiel wäre das %code% ).

Hier ist die relevante Quelle für EditTextPreference:

%Vor%

Also, was ist der Konsens? Wo soll ich das UI-Widget aktualisieren (wenn ich es überhaupt aktualisieren soll ...)?

    
___ qstnhdr ___ Wie implementiert man onRestoreInstanceState () für eine DialogPreference-Unterklasse? ___
1
Antwort

Android: Gibt es eine Möglichkeit, DialogPreference vom Code anzuzeigen?

Ich möchte beim ersten App-Start einige Einstellungen (die durch Erweitern von DialogPreference vorgenommen werden) öffnen. Diese Einstellungen werden auch wie üblich verwendet. Gibt es eine Möglichkeit, dies zu erreichen? BEARBEITEN:...
21.06.2012, 16:24
4
Antworten

Erstellen Sie das Dialogfeld "NumberPicker"

Ich versuche, auf meinem Einstellungsbildschirm ein NumberPicker-Dialogfeld zu erstellen. Ich habe bereits folgendes gemacht: Ссылка Aber für meinen zweiten Dialog möchte ich nur einen Spinner haben, also habe ich den Code wie folgt angepas...
07.07.2013, 18:35
1
Antwort

Wie implementiert man onRestoreInstanceState () für eine DialogPreference-Unterklasse?

Ich implementiere meine eigene benutzerdefinierte DialogPreference-Unterklasse mit einer SeekBar, die für die Persistenz einer Ganzzahl verwendet wird. Ich bin ein wenig verwirrt darüber, was in onSaveInstanceState() und onRestoreInstanceSta...
06.01.2013, 11:56