Die Methode getFloat()
existiert, um einen Float-Wert aus androids SharedPreferences
API zu ziehen. In der XML-Datei speichert EditTextPreference
jedoch immer einen Zeichenfolgenwert, selbst wenn numerisch definiert ist .
Man würde erwarten, dass getFloat()
dies automatisch zurückgibt, stattdessen aber ein ClassCastException
und wir müssen Float.parseFloat(SharedPreferences.getString())
verwenden, um diesen Wert zu erhalten.
Gibt es buchstäblich keinen Nutzen für getFloat()
oder fehlt hier etwas?
Die Methode getFloat () existiert, um einen Gleitkommawert aus der SharedPreferences-API von Android zu ziehen.
Ja.
In der XML speichert EditTextPreference immer einen String-Wert, auch wenn numerisch definiert ist.
Ich denke, Sie vermischen die Dinge hier. Sie setzen SharedPreferences
auf Elemente in PreferenceScreen
.
PreferenceScreen's
speichert alle ihre Werte in deinem SharedPreferences
und es ist richtig, dass EditTextPreferences
keinen float speichern kann, aber du kannst einen float in deinen SharedPreferences
selbst speichern:
und dann den Float wie folgt abrufen:
%Vor%Tags und Links android sharedpreferences android-preferences