Worauf kommt es bei SharedPreferences.getFloat () an?

8

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?

    
Molten Ice 22.06.2014, 21:15
quelle

1 Antwort

5
  

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:

%Vor%

und dann den Float wie folgt abrufen:

%Vor%     
Ahmad 22.06.2014, 21:29
quelle